问题标签 [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 - 连接mongo:反序列化:options.unserialize || (x => x), SyntaxError: Unexpected token >
它在windows中运行良好,但在ubuntu中有问题。root@tegra-ubuntu:/home/ubuntu/pt/nodejs/new# node --harmony app.js
node.js - 每当我重新启动 Sails 服务器会话过期时如何将会话保存在数据库中?
从过去两天开始,我面临着这个问题。每当我重新启动 Sails 服务器会话时都会过期并且所有用户都已注销。有什么办法可以克服吗?我已经浏览了sails doc,但没有成功将会话保存在数据库中。
express - 如何在响应之前访问 Express(js)-session cookie 服务器端?
在节点服务器上使用 Express-session、Connect-mongo 和 PassportJS 的组合,我具有以下验证功能:
正如您在评论部分看到的,我想在响应发送到客户端之前访问 cookie 信息。我无法在“res”和“user”对象中找到任何此类数据。
具体来说,我正在寻找可以在 HTTP 响应中的“SET-COOKIE”标头中找到的相同字符串。
node.js - Node.js - Express Session、连接 Mongo 和 MongoDB
对于我正在制作的网站的不同部分,我有几个 mongo 数据库。其中一个数据库用于会话。我正在使用 Connect Mongo 将会话存储在数据库中。我似乎无法将引用我为用户制作的模型的 ObjectId 存储到会话中。但是当我阅读会话时,我只得到了我存储的 ObjectId 而不是对象。我已经将 stringify 更改为 false。是否可以使用 Connect Mongo 做到这一点?
我已经尝试过创建一个模式并将该模式存储到一个会话变量中,看看它是否会返回我引用的用户对象。我在下面包含了这段代码。
要使用它,我有:
在哪里toUser._id
提供并且是一个已经存在的用户 _id 字段。
我需要会话来引用用户,因此当节点从数据库查询会话时,用户对象也会被拉回。
mongodb - express-session 和 connect-mongo 设置
我正在使用express-session
并且现在想要用于connect-mongo
持久存储会话。我已经看过文档和一些教程,并且大部分都了解它是如何工作的,但是我假设您首先需要一个 mongoDB 实例设置,所以connect-mongo
有什么可以连接的吗?
我见过的一些示例涉及连接到本地主机上的测试 mongoDB,那么这只是将 mongoDB 作为标准安装然后使用该实例的情况吗?
node.js - Connect-mongo 错误:找不到模块 'mongodb/node_modules/bson'
在写这个问题之前,我正在阅读其他关于几乎相同错误的问题,但这些问题来自 2013-2014 年,并且解决方案不起作用,我使用的是 ElementaryOS(Ubuntu 14.04)。
我想在我的 nodejs 应用程序上管理会话,该应用程序将上传到 OpenShift 服务器,因此在搜索会话存储替代方案后,我发现connect-mongo
在阅读时将会话存储在 mongodb 集合中。我也在使用express-sessions
,问题是,当我运行应用程序时,我收到了这个错误消息:
我是会话和存储它们的新手,所以我真的不知道发生了什么以及如何正确设置会话存储。我真的需要一些帮助,如果有人能告诉我如何解决这个问题,我将非常感激。这是我的package.json
依赖项:
这是我的configurate.js
文件,它设置了中间件、路由和数据库连接:
如果你需要的话还有我的server.js
文件:
node.js - 登录到一个 Express 应用程序会破坏其他(同一服务器)中的会话
我有两个独立的 Express 4.x 应用程序在同一台服务器机器(不同的端口)上运行,共享一个 MongoDB 实例。它们都使用不同的数据库并具有不同的会话秘密。
我可以毫无问题地单独登录应用程序 A 或 B。我的会话得到维护,一切都很好。但是,如果我先登录 A,然后再登录 B,我在 A 中的会话就会被破坏(反之亦然)。
这两个应用程序具有几乎相同的本地身份验证。他们serializeUser
和deserializeUser
非常原始(按照护照文档几乎到了发球台)。
似乎在登录 A 然后 B 时req.session.passport
被破坏,导致req.user
无法在应用程序 A 上正确序列化,并且会话被认为是无效的。
我开始认为这与两个应用程序在同一台机器(因此是域)上运行的事实有关,只是端口不同。
node.js - 防止来自非浏览器 GET 请求的 html 呈现
我目前使用 Node & Express 来构建我的应用程序
我的身份验证功能如下所示:
这在我的用户路由器中调用:
这样一切都可以与从浏览器呈现的个人资料页面一起使用。但是,如果用户登录并发布对整个页面的GET
请求,localhost/profile
则将返回所有用户详细信息。
问题是我正在使用connect-mongo
持久的护照连接。
使用简单会话不会req.isAuthenticated()
从非浏览器GET
请求触发,而是呈现我重定向到的登录页面(这很好)。
那么,我怎样才能保持与 connect-mongo 的持久连接并防止用户通过身份验证的所有页面被呈现?我应该寻找一个特定的标题吗?
提前致谢。
node.js - ExpressJS / connect-mongo 更新会话
我正在使用 connect-mongo 来存储 PassportJS 会话。我在 server.js 中的 conf 是:
我的问题是,当我更新用户名或电子邮件等用户数据时,我必须注销并登录才能获得更改。
我已经尝试过 req.session.save 和 req.session.reload,没有运气。
我可以在不注销的情况下更新会话字段吗?
谢谢!
node.js - 如何配置connect-mongo
我正在使用“connect-mongo”节点模块将会话数据存储在 mongodb 中。
下面是我与配置 connect-mongo 相关的代码
一旦用户从浏览器连接到根“/” url,就会在数据库中插入一条记录
我的问题是
为什么 originalMaxAge ,“会话”的过期键为空,需要修改什么以使这些键具有值。?
由于我已将 autoRemoveInterval 设置为 1 分钟,因此我假设数据库中的会话值将在 1 分钟内被删除,但事实并非如此 需要修改什么来实现这一点?