Jak powiedziałem w twoim komentarzu, zasadniczo Express odbiera połączenia, zanim magazyn sesji zostanie w pełni połączony. Rozwiązaniem jest zaczekanie na nawiązanie połączenia przed zezwoleniem aplikacji na rozpoczęcie nasłuchiwania.
Możesz uniknąć tego problemu, używając wywołania zwrotnego podczas tworzenia MongoStore lub przekazując już aktywne połączenie.
Przykład użycia connect-mongo
Oddzwanianie
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();
});
Prosty przykład mangusty
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();
});