问题标签 [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.

0 投票
1 回答
256 浏览

node.js - 连接mongo:反序列化:options.unserialize || (x => x), SyntaxError: Unexpected token >

它在windows中运行良好,但在ubuntu中有问题。root@tegra-ubuntu:/home/ubuntu/pt/nodejs/new# node --harmony app.js

0 投票
2 回答
141 浏览

node.js - 每当我重新启动 Sails 服务器会话过期时如何将会话保存在数据库中?

从过去两天开始,我面临着这个问题。每当我重新启动 Sails 服务器会话时都会过期并且所有用户都已注销。有什么办法可以克服吗?我已经浏览了sails doc,但没有成功将会话保存在数据库中。

0 投票
1 回答
1062 浏览

express - 如何在响应之前访问 Express(js)-session cookie 服务器端?

在节点服务器上使用 Express-session、Connect-mongo 和 PassportJS 的组合,我具有以下验证功能:

正如您在评论部分看到的,我想在响应发送到客户端之前访问 cookie 信息。我无法在“res”和“user”对象中找到任何此类数据。

具体来说,我正在寻找可以在 HTTP 响应中的“SET-COOKIE”标头中找到的相同字符串。

0 投票
0 回答
297 浏览

node.js - Node.js - Express Session、连接 Mongo 和 MongoDB

对于我正在制作的网站的不同部分,我有几个 mongo 数据库。其中一个数据库用于会话。我正在使用 Connect Mongo 将会话存储在数据库中。我似乎无法将引用我为用户制作的模型的 ObjectId 存储到会话中。但是当我阅读会话时,我只得到了我存储的 ObjectId 而不是对象。我已经将 stringify 更改为 false。是否可以使用 Connect Mongo 做到这一点?

我已经尝试过创建一个模式并将该模式​​存储到一个会话变量中,看看它是否会返回我引用的用户对象。我在下面包含了这段代码。

要使用它,我有:

在哪里toUser._id提供并且是一个已经存在的用户 _id 字段。

我需要会话来引用用户,因此当节点从数据库查询会话时,用户对象也会被拉回。

0 投票
1 回答
331 浏览

mongodb - express-session 和 connect-mongo 设置

我正在使用express-session并且现在想要用于connect-mongo持久存储会话。我已经看过文档和一些教程,并且大部分都了解它是如何工作的,但是我假设您首先需要一个 mongoDB 实例设置,所以connect-mongo有什么可以连接的吗?

我见过的一些示例涉及连接到本地主机上的测试 mongoDB,那么这只是将 mongoDB 作为标准安装然后使用该实例的情况吗?

0 投票
2 回答
4682 浏览

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文件:

0 投票
3 回答
1061 浏览

node.js - 登录到一个 Express 应用程序会破坏其他(同一服务器)中的会话

我有两个独立的 Express 4.x 应用程序在同一台服务器机器(不同的端口)上运行,共享一个 MongoDB 实例。它们都使用不同的数据库并具有不同的会话秘密。

我可以毫无问题地单独登录应用程序 A 或 B。我的会话得到维护,一切都很好。但是,如果我先登录 A,然后再登录 B,我在 A 中的会话就会被破坏(反之亦然)。

这两个应用程序具有几乎相同的本地身份验证。他们serializeUserdeserializeUser非常原始(按照护照文档几乎到了发球台)。

似乎在登录 A 然后 B 时req.session.passport被破坏,导致req.user无法在应用程序 A 上正确序列化,并且会话被认为是无效的。

我开始认为这与两个应用程序在同一台机器(因此是域)上运行的事实有关,只是端口不同。

0 投票
1 回答
81 浏览

node.js - 防止来自非浏览器 GET 请求的 html 呈现

我目前使用 Node & Express 来构建我的应用程序

我的身份验证功能如下所示:

这在我的用户路由器中调用:

这样一切都可以与从浏览器呈现的个人资料页面一起使用。但是,如果用户登录并发布对整个页面的GET请求,localhost/profile则将返回所有用户详细信息。

问题是我正在使用connect-mongo持久的护照连接。

使用简单会话不会req.isAuthenticated()从非浏览器GET请求触发,而是呈现我重定向到的登录页面(这很好)。

那么,我怎样才能保持与 connect-mongo 的持久连接并防止用户通过身份验证的所有页面被呈现?我应该寻找一个特定的标题吗?

提前致谢。

0 投票
1 回答
923 浏览

node.js - ExpressJS / connect-mongo 更新会话

我正在使用 connect-mongo 来存储 PassportJS 会话。我在 server.js 中的 conf 是:

我的问题是,当我更新用户名或电子邮件等用户数据时,我必须注销并登录才能获得更改。

我已经尝试过 req.session.save 和 req.session.reload,没有运气。

我可以在不注销的情况下更新会话字段吗?

谢谢!

0 投票
1 回答
668 浏览

node.js - 如何配置connect-mongo

我正在使用“connect-mongo”节点模块将会话数据存储在 mongodb 中。

下面是我与配置 connect-mongo 相关的代码

一旦用户从浏览器连接到根“/” url,就会在数据库中插入一条记录

我的问题是

  1. 为什么 originalMaxAge ,“会话”的过期键为空,需要修改什么以使这些键具有值。?

  2. 由于我已将 autoRemoveInterval 设置为 1 分钟,因此我假设数据库中的会话值将在 1 分钟内被删除,但事实并非如此 需要修改什么来实现这一点?