Search code examples
node.jsexpressmonkexpress-session

Creating session within monk's findOne command


This simple bit of code illustrates the problem: The second session does not save. How can I make this work?

router.post('/users/login', function (req, res) {

 var db = req.usersDb;
 var users = db.get('users');

 req.session.test = "This works";
 req.session.save();

 users.findOne({ username: req.body.username}).on('success', function (doc) { 
        console.log(doc.email); //this works
        req.session.email = doc.email; //This not working
        req.session.save(); 
 });

});

Solution

  • Changing the express-session 'resave' property in the options object to false solved the problem.

    example:

    app.use(session({ genid: function(req) { return guid() }, secret: 'secret', resave: false, saveUninitialized: true }))