MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB:Fehler beim Festlegen des TTL-Index für Sammlung:Sitzungen

Wie ich in Ihrem Kommentar sagte, empfängt Express im Wesentlichen Verbindungen, bevor der Sitzungsspeicher vollständig verbunden ist. Die Lösung besteht darin, auf das Zustandekommen der Verbindung zu warten, bevor Sie Ihrer Anwendung erlauben, mit dem Abhören zu beginnen.

Sie können dieses Problem vermeiden, indem Sie bei der MongoStore-Erstellung einen Rückruf verwenden oder eine bereits aktive Verbindung weitergeben.

Beispiel mit connect-mongo Rückruf von

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

Einfaches Mungo-Beispiel

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