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

NodeJS logout semua sesi pengguna

Menggunakan connect-mongo , userId disimpan di dalam String di mongoDB di kumpulan sesi :

{
    "_id" : "J6fsgZ4d1zKp31ml1MRm18YCdlyhvce-",
    "session" : "{\"cookie\":{\"originalMaxAge\":15778475958,\"expires\":\"2016-05-17T23:47:27.301Z\",\"secure\":false,\"httpOnly\":true,\"path\":\"/\"},\"passport\":{\"user\":\"56420a5a8c6601ce29bbd1c1\"}}",
    "expires" : ISODate("2016-05-17T12:48:22.049Z")
}

Akhirnya, saya menggunakan kode ini untuk menghapus semua sesinya:

var mongoose = require('mongoose'),
Schema = mongoose.Schema,
Session = mongoose.model('Session', new Schema(), 'sessions');


exports.signoutAllSessions = function(req, res) {
   var socketio = req.app.get('socketio');
   var userId = req.user.id;
   var filter = {'session':{'$regex': '.*"user":"'+userId+'".*'}};

   req.logout();
   res.redirect('/');

   Session.remove(filter,function(err,data){
       socketio.sockets.to(userId).emit('user.logout');
   });
};

Dan rute API memanggil metode ini.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Apa itu operator $unwind di MongoDB?

  2. Arsitektur aplikasi berbasis luwak

  3. cara menambahkan Bidang baru ke dalam skema solr

  4. Rentang kueri untuk pagination MongoDB

  5. Konektor Sumber Mongodb Kafka Resmi Terdistribusi dengan Banyak tugas Tidak berfungsi