问题标签 [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 回答
759 浏览

node.js - NodeJS Mongoose connect-mongo 会话存储与 Mongo

我尝试以我可以在与 mongo 一起保存的 nodejs 中使用会话的方式配置我的 connect-mongo。我使用以下代码

我已经尝试了所有方法,但执行了一些代码,我从来没有在我的 res refrence 中使用对象会话。

获取:TypeError:无法设置未定义的属性“asd”

代码:

有人可以给出解决方案的提示吗?

0 投票
0 回答
147 浏览

node.js - connect-mongo 跨域会话问题

我在跨子域的会话中遇到问题

我像这样使用connect mongo:

但是,当我重定向到子域 xyz.mydomian.com 时,会话无效。任何人都可以推荐一种让跨域登录与 connect-mongo 一起使用的策略吗?

0 投票
1 回答
2962 浏览

node.js - 使用 connect-mongo 时处理数据库错误

我有一个相当标准的 connect-mongo 设置

猫鼬在此之前初始化/连接

这工作正常。

但是 - 假设我的 mongodb 连接突然中断(在下面的示例中本地停止 mongod) - 下次我尝试到达路线时,我的快速应用程序也会崩溃 -

错误:无法在 null 处连接到 [localhost:27017]。(/Users/alex/Projects/MyProject/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/server.js:540:74) 在空时发出 (events.js:106:17)。(/Users/alex/Projects/MyProject/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:140:15) 在 Socket 的发射 (events.js:98:17)。(/Users/alex/Projects/MyProject/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection.js:478:10) 在 Socket.emit (events.js:95:17) 在 net.js: 440:14 在 process._tickCallback (node.js:419:13)

有没有办法处理这个错误并(例如)重定向到 /error 路由?(显然是不需要会话的!)

编辑

所以现在,我正在创建一个单独的猫鼬连接。

然后我使用on('error'来监听错误

...这就是我被卡住的地方-该过程仍然死亡,因为重新抛出错误不会将其传递给快速错误处理程序...

0 投票
1 回答
96 浏览

node.js - connect-mongo 模块的实例什么都不做

喂。我有问题。我使用 Windows,我app的是nodejs app. 我将会话存储在mongodb并使用connect-mongo模块。这是我的问题:

});

当我创建MongoStore回调实例时不会触发console.log也不会触发,但我在控制台中没有错误。当我运行服务器时没有任何问题MongoStore。在 Windows 控制台中,mongo 工作正常。

请帮助解决这个问题。

0 投票
1 回答
134 浏览

cookies - 多个 Kraken JS 应用程序的单点登录

我有两个Kraken JS应用程序connect-mongo作为会话存储的中间件在两个子域上运行,例如 one.example.com 和 two.example.com。两者都受用户登录保护。

如何在我的应用中实现 SSO 功能?也许将会话 cookie 域设置为 example.com 而不是子域?

0 投票
1 回答
593 浏览

express - 将用户从护照传递到 socket.io

我正在使用passportjs、express 4、socket.io 并将passportjs 与套接字连接,我已将passport.socketio 添加connect-mongo为会话存储。我在许多帖子中看到我必须避免使用 cors。因此,当我在客户端代码中使用:io.connect('/');时,不会调用任何函数(成功/失败)。当我使用时io.connect('http://localhost:8565');,使用消息调用失败函数:“未找到会话”。店铺:

会议:

Passport.socketio:

我必须对“key:'your.sid-key'”做些什么吗?还是我想念别的东西?内部函数失败错误获取值falsedata.isAuthenticated()true,但data.user{logged_in: false}

0 投票
0 回答
641 浏览

node.js - Connect-mongo: why is lazy session update not the default?

I'm developing an Express website that uses MongoDB as a backend and the connect-mongo middleware for sessions. Monitoring has shown that about 25% of the database time of my server is spent sending (mostly useless) updates to the MongoDB session store.

According to its README, it seems connect-mongo systematically updates the store (in my case MongoDB) on every request, but lets you optionally disable this behavior using the touchAfter option :

If you are using express-session >= 1.10.0 and don't want to resave all the session on database every single time that the user refresh the page, you can lazy update the session, by limiting a period of time.

by doing this, setting touchAfter: 24 * 3600 you are saying to the session be updated only one time in a period of 24 hours, does not matter how many request's are made (with the exception of those that change something on the session data)

What I do not understand is why one would want another behavior than this. Why update a session which data has not changed?

0 投票
1 回答
616 浏览

node.js - 错误:在 Db._executeQueryCommand Node.js 上没有打开的连接

我有一个与 express 框架一起使用的节点应用程序。此应用程序运行流畅。但是突然,在某个时间点之后,它开始给出错误

“错误:在 Db._executeQueryCommand 没有打开的连接”

从上述错误的描述中,我明白了,节点应用程序可能无法连接到数据库。

但是,尽管出现此错误,节点应用程序呈现的某些页面仍然能够运行。

我要补充的一件事是,没有某个页面出现此错误,我的意思是说,假设第一次,我在“/foo”页面中收到此错误,而不是在“/foo1”中,并且“/foo2”。

但是,假设当我随机刷新页面时,之前加载错误的页面,即“/foo”可能不会出错,而之前加载成功的页面,即“/foo1”和“/foo2”,可能会出错.

节点应用程序的并发用户数可能不会更多,大约是 450 个。

详细信息: 1. Node 版本:v0.10.29 2. Express 版本:4.9.0 3. MongoDB 版本:2.4.10 4. OS Linux

我搜索了许多解决方案,但没有找到强有力的原因甚至解决方案。

任何帮助将不胜感激。

0 投票
2 回答
461 浏览

node.js - 错误:发送后无法设置标头。当自动重新连接到 mongodb

我收到以下错误:

我的配置如下:

我正在使用 connect-mongo 作为会话存储,并且自动重新连接是正确的,即 .

我正在通过手动停止 mongod 服务并从 URL 请求来测试此代码,它处于等待状态(浏览器持续运行直到它连接到数据库),所以我保留了以下代码用于请求超时(4 秒后它将是重定向到维护页面)。

但是当我重新启动 mongod 时,它会自动连接到数据库并且站点正在运行,但是在控制台中我收到了这个错误:

0 投票
1 回答
624 浏览

node.js - 回调在 connect-mongo 中不起作用

我使用 connect-mongo 作为会话存储。连接-mongo@0.4.0。

我的代码是

直到一切正常,但是当我将 connect-mongo 版本升级到最新版本(0.8.1)时。包含服务器启动脚本的回调不起作用。

IE

更新 connect-mongo 版本后,上面的代码不起作用。

你的帮助将是可观的。提前致谢。