正如我在您的评论中所说,本质上Express在会话存储完全连接之前就已接收连接。解决方案是等待连接发生,然后再允许您的应用程序开始监听。
您可以通过在创建MongoStore时使用回调或传入已经处于活动状态的连接来避免此问题。
使用connect-mongo
的回调示例
var sessionStore = new MongoStore({ url: 'someConnectionUrl', db: 'audio-drop' }, function(e) { var cookieParser = express.cookieParser('waytoblue'); app.use(cookieParser); app.use(express.session({ store: sessionStore })); app.listen();});简单的猫鼬例子
var mongoose = require('mongoose');mongoose.connect('localhost', function(e) { // If error connecting if(e) throw e; var sessionStore = new MongoStore({ mongoose_connection: mongoose.connection }), cookieParser = express.cookieParser('waytoblue'); app.use(cookieParser); app.use(express.session({ store: sessionStore })); app.listen();});


