sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB:Fel vid inställning av TTL-index vid samling:sessioner

Som jag sa i din kommentar, tar Express i huvudsak emot anslutningar innan sessionsbutiken är helt ansluten. Lösningen är att vänta på att anslutningen uppstår innan du låter din applikation börja lyssna.

Du kan undvika detta problem genom att använda en återuppringning när MongoStore skapas, eller skicka in en redan aktiv anslutning.

Exempel med connect-mongo s återuppringning

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

Enkelt Mongoose-exempel

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


  1. Kan inte använda importsatsen utanför moduler

  2. Azure Redis Cache max-anslutningar har uppnåtts

  3. Aktivera datakomprimering i MongoDB 3.0

  4. Konvertera MongoDB-fråga till Spring MongoDB-syntax