具有express和MongoDB的node.js中的会话生存期

Tho*_*mas 7 session lifetime mongodb node.js express

我正在使用带有快速框架的node.js.作为会话商店,我正在使用MongoDB.如何设置从MongoDB中删除会话对象的生命周期.这就是我做声明的方式:

app.use(express.cookieParser());
    app.use(express.session({
                secret: "Stays my secret",
                store: new MongoStore({ db: 'myDB' })
                    }));
Run Code Online (Sandbox Code Playgroud)

Rob*_*itt 7

你的问题有点模糊,但从我可以收集到的你不想设置会话的有效期:

你可以maxAge像这样使用:

app.use(express.cookieParser());
app.use(express.session({
    secret  : "Stays my secret",
    maxAge  : new Date(Date.now() + 3600000), //1 Hour
    expires : new Date(Date.now() + 3600000), //1 Hour
    store   : new MongoStore({ db: 'myDB' })
}));
Run Code Online (Sandbox Code Playgroud)

expires新版本的快递需要使用值,maxAge而旧版本则需要这样的值,expires但您应该只需要.

  • maxAge应该是*age*(例如,以毫秒为单位的值),而不是将来的*time*. (5认同)
  • 谢谢.每次使用会话时,maxAge的计时器是重置还是从会话创建开始算起? (4认同)
  • 基于http://stackoverflow.com/questions/10429557/whats-the-correct-way-to-use-maxage-with-express-js,看起来您的日期使用设置需要"过期"键,不是"maxAge". (3认同)