使用 express 和 MongoDB 在 node.js 中的 session 生命周期

标签 session mongodb node.js express lifetime

我将 node.js 与 express 框架一起使用。作为 session 存储,我使用的是 MongoDB。如何设置从 MongoDB 中删除 session 对象的生命周期。这就是我做声明的方式:

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

最佳答案

您的问题有点含糊,但据我所知,您不想设置 session 的有效期:

您可以使用 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' })
}));

expires 值是新版本 express 所必需的,而 maxAge 是旧版本所必需的,但您应该只需要 expires

关于使用 express 和 MongoDB 在 node.js 中的 session 生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5696753/

相关文章:

php - 我的虚拟主机正在将 ?PHPSESSID=fgh2h45... 添加到 URL 的末尾

MongoDB增量mapReduce,仅选择新文档,在上次mapReduce之后添加

javascript - Discord.JS 角色创建事件

javascript - html和node.js之间的通信(基础)

node.js - 显示处理大数据期间的进度

asp.net - 在 Web 应用程序中存储大型临时 "session"数据的好方法是什么

java - 成功登录后自动重新创建 JSESSIONID

php session 不支持 ajax

mongodb - 我可以在无服务器模式下使用 MongoDb 吗?

java - 将 $stdDevSamp 或 $stdDevPop 与 Spring Mongo 一起使用