现在,我将我的会话数据存储在 connect(express) 自带的“内存存储”中。但是我想/必须为生产环境更改这个设置。
该应用程序正在使用mongodb,我已经安装了mongoose来处理所有的数据库通信。
例如,在初始化我的应用程序后连接到数据库:
var mongo = require('mongoose');
mongo.connect('mongodb://localhost/myDb');
mongo.connection.on('open', function () {
app.listen(3000);
}
我找到了 connect-mongodb 模块,但我不知道如何在 mongoose 中实现它,或者它是否真的可行?我需要添加类似于以下的内容:
var mongoStore = require('connect-mongodb');
// ...
app.use(express.session({
secret: 'topsecret',
maxAge: new Date(Date.now() + 3600000),
store: new mongoStore({ db: 'myDb' })
}));
还是说我必须直接使用mongodb模块重新定义我的数据库连接?
var express = require('express')
),然后将其传递给connect-mongo(var MongoStore = require('connect-mongo')(express)
)。这是因为express公开了connect的所有基础部分,而connect-mongo实际上是一个以connect对象作为参数的函数。 - Peter Downsexpress-session
,但在将会话存储在mongoDB
中时遇到了问题 - 您觉得可以看一下这里吗:http://stackoverflow.com/questions/32413051/express-js-multiple-temp-sessions-for-same-domain-in-mongodb?谢谢! - Kawd