【问题标题】:ExpressJS / connect-mongo update sessionExpressJS / connect-mongo 更新会话
【发布时间】:2016-05-24 06:09:56
【问题描述】:

我正在使用 connect-mongo 来存储 PassportJS 会话。 我在 server.js 中的配置是:

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,没有运气。

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

谢谢!

【问题讨论】:

  • resave 应该是真的。如果不起作用,请将 saveUninitialized 设为 true。

标签: node.js mongodb express connect-mongo


【解决方案1】:

你必须使用 req.user 来正确更新 req.session.passsport.user 所以:

如果您想更改用户名,请执行以下操作:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-08
    • 2012-07-22
    • 2013-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-28
    相关资源
    最近更新 更多