MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Penyimpanan NodeJS + Ekspres + Sesi Mongo

Itu akhirnya menjadi masalah dari berbagai modul:connect-session-mongo / express-session-mongo / connect-mongo, menggunakan connect 2.0.1 dan Express menggunakan connect 1.8.5.

Rupanya bentrokan ketergantungan di sini mencegah modul penyimpanan sesi untuk mengakses properti 'req.secret'.

Untuk membuatnya berhasil saya akhiri dengan menggunakan modul connect-mongodb yang masih menggunakan connect 1.8.5, seperti Express.

Alasan saya tidak dapat membuat connect-mongodb berfungsi sebelumnya adalah kesalahan pengguna, saya mencoba terlalu keras untuk menggunakan salin/tempel dari contoh online alih-alih kepala saya.

Berikut adalah kode konfigurasi yang akhirnya berfungsi untuk saya dengan 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());  
});

Semoga ini bisa membantu siapa pun yang mengalami masalah ini. Jika Anda memiliki saran/perbaikan pada solusi ini, saya akan senang mendengarnya. :)



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Kesalahan membuat kacang dengan nama 'mongobee' yang ditentukan di sumber jalur kelas

  2. Bagaimana cara mengurutkan array sub-dokumen di luwak/mongodb?

  3. ECS Fargate tidak mendukung pengikatan mount

  4. Mongo:cara mengurutkan berdasarkan berat eksternal

  5. Nodejs tidak dapat terhubung ke mongodb di cloud shell