Както казах във вашия коментар, по същество 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();
});
Прост пример за Mongoose
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();
});