问题标签 [connect-mongo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - Mongoose - 通过 findOne() 搜索架构失败
在通过 MongoDB for 设置 sessionStore 时express-session
,我在使用该findOne()
函数来验证用户的信息是否有效且最新时遇到了一些麻烦。
然而,诀窍在于它express-session
负责connect-mongo
管理对数据库的写入。
现在,这似乎可以正常工作,因为文档已输入到我指定的集合中。从集合中返回数据会产生以下结果:
如果问题出现在数据库中,或者通过 Mongoose,我尝试如何查询 SID 似乎并不重要,我使用以下任何方法都不返回任何结果:
通过蒙戈:
通过猫鼬(NodeJS)
问题是,在这两种情况下我都无法返回任何我已经验证在集合中的数据是怎么回事?我是否需要像我一直在尝试做的那样考虑文档中返回的转义引号,还是仅仅通过 mongo shell 输出?
我是否缺少正确搜索此数据的任何步骤?一组新鲜的眼睛将不胜感激!
解决方案:
vinagreti指出,保存到我的集合中的数据不是对象,而是纯文本。
通过参考connect-mongo 的文档,有一个额外的选项stringify
. 此设置字符串化并将会话保存的数据序列化到数据库中。考虑到这express-session
已经产生了一个 JSON 对象,使用stringify()
使得它在集合中不可搜索。
所需要的只是添加stringify: false
到我的 mongoStore 设置中,如下所示:
然后瞧!保存到集合中的所有内容现在都是对象并且可以搜索!感谢vinagreti帮助指出问题!请点赞他的回答!
express - Express session secret - 从客户端到服务器?
我正在使用 Express 4 的快速会话。我对如何将秘密从客户端传递到服务器感到困惑。我假设我需要为每个请求传递秘密,否则我真的不明白秘密的用途。
我该怎么处理这个秘密?如果我应该将它从客户端传递到服务器,那么最好的方法是什么?
如您所见,Passport 负责将会话信息从客户端传递到服务器,但 req.secret 仍然未定义:
ssl - 如何使用 `connect-mongo` 的`express-session` 通过 TLS/SSL 连接到`mongos` 实例?
我connect-mongo
用作 的存储模块express-session
,一切正常,直到我'MongoDB+' TLS/SSL
从 切换到新部署Compose.io
,现在我无法连接。
我不详细了解他们的架构,但可以在这里找到更多信息: Bringing SSL To Compose MongoDB
在这里: 使用 Compose MongoDB+ 使用 SSL
在这里: 一个丢失的密钥以及它是如何破坏 Node.js 的
我确实知道,当您连接时,您需要声明mongos
选项,并且您的连接代码最终看起来像这样:
该连接字符串与这些连接选项一起使用mongo-native
驱动程序工作。我可以连接并执行所有操作。
但是在这种情况下应用它们会产生......什么都没有。它只是挂起。
知道如何产生任何输出以进一步调试吗?
谢谢你的帮助!
node.js - 通过 _id cast 错误手动删除 connect-mongo 会话
我正在尝试从 connect-mongo 会话集合中手动删除一个文档。当我尝试删除文档时,出现以下错误:
消息:'在路径“_id”处,值“gl9-V-bjAjqv2Nwdf9vHPLN_Fnnl4Thz”的值转换为 ObjectId 失败'
express-session 使用以下函数生成会话 id:
从此函数生成的会话将进入会话文档的 _id 属性。但是,当您尝试通过生成的 id 查找或删除文档时,您会收到错误消息。
mongodb 文档说 _id 应该是
ObjectId 是一个 12 字节的 BSON 类型 ObjectId
我尝试使用会话上的 genid 选项覆盖会话 ID,但覆盖并没有使其进入数据库。
如何在文档中获取有效的 _id 或使用无效的 _id 查询文档?
谢谢!
我的基础架构:Express 4.10、Node v0.12.7、Compose.io、connect-mongo、express-session
node.js - 安装connect-mongo时出错
****当我尝试安装 connect-mongo 或 connect-mongo@0.4.1 时出现此错误,当我尝试安装 express 或其他功能时,我从未收到此错误,我可以做些什么来避免此错误。
在此之前,我安装了 1.express 2.hogan-express 3.cookie-parser 4.express-session 为了将我的生产会话与数据库连接,我尝试了 connect-mongo 和 mongoose 。两者都显示与此相同的错误。
有关信息:我已经尝试安装第一个和第二个选项它没有安装,我已经在我的操作系统中升级了版本。
我无法在此处附加图像,因此我从命令提示符复制粘贴了内容
感谢您的努力,提前谢谢您。****
linux - Amazon AWS EC2 Linux 上的 Node-gyp Connect-mongo
我无法在我的 EC2 实例上安装 connect-mongo。与 node-gyp 无法访问“/root/.node-gyp/0.10.40”有关 - 这很奇怪,因为安装的 Node 版本是 4.2.1。
文件夹“/root/.node-gyp/”甚至不会在系统上退出。那么为什么 node-gyp 会在那里寻找呢?
在配置服务器时,我首先安装了 Node 0.10.40,然后升级到 4.2.1。
我们如何将 node-gyp 指向正确的目录?还是其他地方的问题?
在本地主机上成功安装的日志:
EC2 Linux 上安装失败的日志:
node.js - Mongodb连接错误(connect-mongo)
我将 mongodb 设置为独立服务器。我还单独启用了副本集以启用 oplog(我的应用程序跟踪实时更新)。
此设置工作正常。但随机我收到错误消息no valid seed servers in list with connect-mongo 抛出此错误。
d:\Nodevue\nvweb\node_modules\connect-mongo\node_modules\mongodb\lib\mongo_clien t.js:393 throw err ^ MongoError: no valid seed servers in list
这是我的 connect-mongo 连接字符串:
有什么解决办法吗?
javascript - ' undefined is not a function' Error on app.use session in NHibernate, mongo store
I have a database in mongo to store session state called 'SessionStore' with a collection called 'Sessions' to store session state.
I'm using expression-session for managing sessions.
Code to setup sessions is as follows;
Except when it gets to the last line it fails with the following;
I think I have missed some part of the set-up but I am not sure what. Can anyone suggest something.
node.js - 配对风帆,护照和蒙戈:错误:钩子(`会话`)未能加载!对象 .... 没有方法“分配”
我是 Sails/Node.js 的新手,所以请耐心等待 :)
我正在尝试设置 Sails 0.11.3 以通过 Passport 与 google auth 一起使用。在我尝试启用 mongo 会话存储之前,它工作得很好(谷歌身份验证工作)。
一旦我添加到 config/session.js 中:
帆电梯拒绝启动服务器:
connect-mongo 已安装并且是最新的。
任何想法如何治愈这个?提前致谢!
mongodb - 错误:未找到连接策略 MongoDB
这是一个使用快速会话存储的简单连接,即使文本来自书中,它也会不断出现此错误。我很确定这与“new MongoStore”对象初始化有关。