Như tôi đã nói trong nhận xét của bạn, về cơ bản Express đang nhận các kết nối trước khi cửa hàng phiên được kết nối hoàn toàn. Giải pháp là đợi kết nối xảy ra trước khi cho phép ứng dụng của bạn bắt đầu nghe.
Bạn có thể tránh sự cố này bằng cách sử dụng lệnh gọi lại khi tạo MongoStore hoặc chuyển một kết nối đã hoạt động.
Ví dụ sử dụng connect-mongo
Gọi lại của
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();
});
Ví dụ về Mongoose đơn giản
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();
});