sql >> Databáze >  >> NoSQL >> MongoDB

Úložiště NodeJS + Express + Mongo Session

Skončilo to jako problém různých modulů:connect-session-mongo / express-session-mongo / connect-mongo, using connect 2.0.1 a Express using connect 1.8.5.

Srážka závislostí zde zjevně zabránila modulům úložiště relací v přístupu k vlastnosti 'req.secret'.

Aby to fungovalo, skončil jsem pomocí modulu connect-mongodb, který stále používá connect 1.8.5, stejně jako Express.

Důvod, proč jsem předtím nemohl zprovoznit connect-mongodb, byla chyba uživatele, příliš jsem se snažil použít kopírování/vkládání z online příkladů místo své hlavy.

Zde je konfigurační kód, který mi nakonec fungoval s connect-mongodb:

var Session = require('connect-mongodb');

app.configure('production', function(){
  var oneWeek = 657450000;
  app.use(express.static(__dirname + '/../public', { maxAge: oneWeek }));

  var session = express.session({
        store: new Session({
              url: 'mongodb://localhost:27017/test', 
              maxAge: 300000
        }),
        secret: 'superTopSecret' 
  });
  app.use(session);

  app.use(mongooseAuth.middleware());
  app.use(require('./mySite').middleware());
  app.use(express.methodOverride());
  app.use(express.errorHandler());  
});

Doufám, že to pomůže každému, kdo se s tímto problémem setká. Pokud máte nějaký návrh/vylepšení tohoto řešení, budu rád. :)



  1. WriteConcern klienta Java MongoDB nefunguje

  2. Pymongo pro každé formátování

  3. Sharding MongoDB, jak se vyrovnává při přidávání nových uzlů?

  4. Musím ukončit instanci klienta redis uzlu pomocí .quit()?