MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

MongoDB:errore durante l'impostazione dell'indice TTL sulla raccolta:sessioni

Come ho detto nel tuo commento, essenzialmente Express sta ricevendo connessioni prima che l'archivio sessioni sia completamente connesso. La soluzione è attendere che si verifichi la connessione prima di consentire all'applicazione di iniziare l'ascolto.

Puoi evitare questo problema utilizzando una richiamata alla creazione di MongoStore o passando una connessione già attiva.

Esempio di utilizzo di connect-mongo Richiamata

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();
});

Semplice esempio di mangusta

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();
});