我使用connect-mongo作为会话存储。 connect-mongo@0.4.0。
我的代码是
app.use(express.session({
store: new MongoStore({
url: 'mongodb://192.168.1.124:27017/ip_session',
}, function(e) {
// Start the app by listening on <port>
var port = process.env.PORT || config.guiPort;
var server = app.listen(port);
console.log('Express app started on port ' + port);
}),
// 2 * 60 * 60 * 1000
cookie: {
expires: new Date(Date.now() + 7200000)
},
secret: '**********'
}));
直到所有工作正常,但当我将connect-mongo版本升级到最新版本(0.8.1)。包含服务器启动脚本的回调无效。
即
function(e) {
var port = process.env.PORT || config.guiPort;
var server = app.listen(port);
console.log('Express app started on port ' + port);
}
更新connect-mongo的版本后,上面的代码无效。
你的帮助会很明显。 提前致谢。
答案 0 :(得分:1)
根据代码判断,MongoStore
的实例在其(连接)状态发生变化时会发出事件。所以也许这有效:
var store = new MongoStore({ url : ... });
store.on('connected', function() {
// Start the app by listening on <port>
var port = process.env.PORT || config.guiPort;
var server = app.listen(port);
console.log('Express app started on port ' + port);
});
app.use(express.session({
store: store,
...
});