【发布时间】:2014-02-13 20:15:10
【问题描述】:
也许我没有正确理解 connect-mongo 的工作原理。
当我设置时
app.use(express.session({
secret: '1234567890QWERTY',
cookie: {maxAge: 1000 * 60},
store: new MongoStore({
db: "DB"
}),
})
这表明会话在 1 分钟后过期。
但我的疑问是:如果用户刷新页面并且在 Mongo 上会话也刷新,为什么 1 分钟后 mongo 删除条目?
我希望会话在 1 分钟后过期,但仅在用户退出或停止与浏览器交互时。
我需要什么更好的形式来使用会话?
谢谢。
添加:
官方文档
注意:根据 connect/express 的默认设置,会话 cookie 设置为在用户关闭浏览器时过期(maxAge:null)。根据标准行业惯例,connect-mongo 会将这些会话设置为从它们的最后一次“设置”起两周后到期。 您可以通过手动设置 cookie 的 maxAge 来覆盖此行为 - 请记住,任何小于 60 秒的值都是没有意义的,因为 mongod 只会每分钟删除 TTL 集合中的过期文档。
【问题讨论】:
标签: node.js mongodb session mongoose