我使用connect-mongo的express.session来存储用户会话。 我从现在开始将cookie maxAge设置为2周,但我想要的是,如果用户在这两周内处于活动状态,则会话将延长至另外两周,以便当他在两周内不活动时,他的会话将被删除cookie和mongo中的会话)。 但问题是,当他访问一个页面时,会话在MongoDB中得到更新,但该cookie将在2周后过期,并且不会更改它的'过期'。 这是我的代码:Express.js和connect-mongo会话持续时间
app.use(express.session({
secret: 'superSecretKey',
cookie: {maxAge: 3600000*24*14},
store: new MongoStore({
mongoose_connection: mongoose.connections[0],
db: 'myDb'
})
}));
我如何能实现我想要什么? 谢谢!
请参阅[此答案](http://stackoverflow.com/a/14529888/893780)如何实现这一目标。除此之外,'maxAge'应该设置为将来会话过期的毫秒数,而不是日期(这就是expires的意思)。所以使用这个:'maxAge:3600000 * 24 * 14'来设置过期到两周。 – robertklep
谢谢!我也在https://github.com/senchalabs/connect/issues/670上找到了这个。是的,我总是混合过期和maxAge,我编辑了这个问题,并发布了一个答案 – Ivan