从Express / Mongo

时间:2017-09-12 09:54:26

标签: mongodb session express

我正在使用Mongo商店的Express会话。在下面的示例代码中,如果我在delete之前编写const result,它将正常工作,并且将从MongoDB中删除session.message

    exports.getIndex = function(req, res) {
    if(req.isAuthenticated())
        return res.redirect('/panel');

    delete req.session.messages;
    const result = res.render('login', {title: 'Gmail Project', error: req.session.messages});

    return result;
    }

但是,如果我在cont result之后编写删除语句,我猜,会话应该在下一个请求中删除。但在这种情况下,会话不会被删除。

exports.getIndex = function(req, res) {
    if(req.isAuthenticated())
        return res.redirect('/panel');


    var result = res.render('login', {title: 'Gmail Project', error: req.session.messages});
    delete req.session.messages;

    return result;
}

此外,这是我的中间件在app.js文件中使用的顺序,

app.use(expressSession({
  secret: 'marandipedro',
  maxAge: new Date(Date.now() + 3600000),  
  store: new MongoStore({ mongooseConnection: mongoose.connection })
}));
app.use(passport.initialize());
app.use(passport.session());
app.use(messages.flushMessages());

在这些行之后定义路由。

0 个答案:

没有答案