问题标签 [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 投票
0 回答
36 浏览

express - 从 connect-mongo 手动销毁特定的快速会话

有什么方法可以让我从 mongoDB 中删除特定会话?

我的方案是允许“我自己”从数据库(其他用户会话)中删除特定会话。从 connect-mongo docs阅读,我可以使用destory但看起来这种方法是为了破坏我自己的会话(req.session.destroy())。有没有办法让我做到这一点?

就像是

我的配置:Express + express-session with connect-mongo + mongoDB

0 投票
0 回答
99 浏览

mongodb - TypeError:MongoStore.create 不是函数

我正在尝试使用 connect-mongo 连接到我与 mongo 的会话。它说

常量存储 = MongoStore.create({

TypeError: MongoStore.create 不是函数。

这是我的代码: 在此处输入图像描述

是的,我确实需要 connect-mongo 并且我有会话。

0 投票
0 回答
17 浏览

node.js - 绑定一个在会话被移除后自动调用的函数

我正在使用express-session并且connect-mongo我有一个工作会话存储,如下所示:

会议一切都很好。但是,对于每个新会话,我正在创建另一个集合的新文档并将其与会话链接。

假设我正在创建一个测验,然后将其 ID 添加到req.session.quiz. 并将测验设置status'started'。测验对象内的可用状态是:['started'', 'completed', 'expired']。所以,我想要实现的是:当用户离开浏览器+10分钟时,我想删除他的会话并立即将测验状态设置为'expired'.

我有一个关于 cookie 如何以及何时过期的工作版本,如下所示,并且商店会自动删除过期的会话:

但是,我不知道是否可以实现或绑定一个函数,所以我可以按照上面的说明更新测验状态。提供的可用事件connect-mongo仅限于这些。并且也express-session没有提到绑定prepost用于可用事件的方法。

感谢您的帮助!

0 投票
0 回答
35 浏览

mongodb - 将 TTL connect-mongo 过期选项更改为会话时间

我正在尝试将会话存储到 MongoDB 中。我面临的问题是我无法将 MongoDB TTL 设置为会话持续时间。这是我的代码:

如果我不将会话存储在数据库中,这很简单,因为我必须删除存储键,并且由于我的 cookie 的 maxAge 没有定义,它会在用户没有关闭浏览器时持续存在。但是如果我存储在 MongoDB 中,因为 maxAge 或 expires 没有定义,它会默认设置 14 天的过期时间,这是我不想要的。这真的很烦人,因为如果重新启动我的浏览器,我将只有一个客户端有多个会话。

那请问您有解决方案吗?

谢谢 !

0 投票
0 回答
48 浏览

typescript - MongoRuntimeError:从 [关闭] => [连接] 的非法状态转换,允许:[关闭,关闭]

我在我的项目中使用mongoose库和connect-mongo会话。目前正在做测试,在与 mongoDB 服务器断开连接时,在挂钩e2e内给了我以下内容:afterAll



我的笑话测试文件

0 投票
0 回答
211 浏览

node.js - 连接 Mongo 自动重新连接

我正在使用连接蒙戈

我正在使用 mongo connect 进行会话存储,如下所示。

当 mongodb 不可用时,它会失败。

如何让它重新连接到 mongodb,以便一旦 mongodb 启动并运行,它将重试并可以运行?

0 投票
0 回答
36 浏览

express - Express 会话在部署时注销(Google Kubernetes Engine)

我很困惑为什么每当我的 Express.js 服务器有新的部署时我就会一直注销。我正在使用Express Session,我正在使用的商店是通过connect-mongo的 MongoDB并且用于登录的是使用Passport Session。服务器托管或部署在 Google Kubernetes Engine (GKE) 中。

当我重新启动服务器时,它在我的本地工作正常。我仍然会登录。

下面是我的配置:

如果您需要更多信息,请告诉我。谢谢!

0 投票
0 回答
16 浏览

node.js - 我无法将 cookie 安全标签设置为 true。当我在 heroku 上将 cookie secure 显式设置为 false 时,代码在生产中运行良好

嗨,我的代码在 localhost 上运行良好,但是在部署中将其推送到 heroku 时,我无法将 cookie 安全标签设置为 true。当我将 cookie 安全设置为 false 时,代码在生产环境中运行良好。由于 cookie 不安全,它没有被传递到浏览器,并且护照 js 不允许身份验证。会话正在 mongodb 中创建,没有问题。

由于代码在开发中运行良好且安全标记为假[以及在我强制执行时在生产中],因此我确信护照 js 配置正确。

我还尝试设置 CORS 和 sameSite: 'none'; 我发现的类似问题提出了建议,但这也没有用。

任何帮助和建议都会很棒,因为我已经苦苦挣扎了一段时间。提前致谢。

注意:heroku 日志和本地都没有错误,我认为它是关于按正确的顺序放置代码。