2016-05-24 39 views
0

我正在使用connect-mongo存储PassportJS会话。 我在server.js的conf是:ExpressJS/connect-mongo更新会话

app.use(session({ 
    name: 'Example', 
    secret:'exampleasd', 
    saveUninitialized: false, 
    resave: false, 
    cookie: { maxAge: 1000*60*60*2 }, 
    store: new MongoStore({ 
     url: 'mongodb://localhost/example', 
     host: 'localhost', 
     collection: 'user-sessions', 
     autoReconnect: true, 
     clear_interval: 3600 
    }) 
})); 

我的问题是,当我更新就像我必须退出并登录到什么变化的用户名或电子邮件的用户的数据。

我已经尝试了req.session.save和req.session.reload,没有运气。

我可以在不注销的情况下更新会话字段吗?

谢谢!

+0

猜测'resave'应该是真实的。如果它不起作用,请将'saveUninitialized'设置为true。 –

回答

0

你必须使用req.user正确更新req.session.passsport.user这样:

如果要更改用户名只是做:

req.user.username = newUsername; 
req.session.save(function(err){ 
//msg here 
});