Connect-mongo 会话 collection 太大
Connect-mongo sessions collection is too big
我正在使用 connect-mongo
和 express-sessions
来存储我的应用程序会话。
我现在是 2 天前安装的。今天我查看了我的会话collection,发现里面有超过200,000个文档!我尝试删除我的 collection 并等待 60 秒,那里已经有 200 个文档。
为什么即使我将 resave
设置为 false
,文档仍被重新保存?好像文档在无休止地保存...
这是我当前的配置:
app.use(session({
secret: config.secret,
resave: false,
saveUninitialized: false,
unset: 'destroy',
store: new MongoStore({
mongooseConnection: mongoose.connection,
touchAfter: 3600, //Restore once every hour
autoRemove: 'interval',
autoRemoveInterval: 60 //Remove after one hour
})
}));
目前最多只有大约 3 个用户在使用我的应用程序。
所以它有两个问题,一个是你的会话太多,另一个是你的会话没有被删除
可能是您的客户发出的请求没有在 cookie 中保存 sessionId。因此,对于每个请求,它都会创建一个新文档。
同时检查您是否在 mongodb 数据库中定义了 TTL 索引。
我正在使用 connect-mongo
和 express-sessions
来存储我的应用程序会话。
我现在是 2 天前安装的。今天我查看了我的会话collection,发现里面有超过200,000个文档!我尝试删除我的 collection 并等待 60 秒,那里已经有 200 个文档。
为什么即使我将 resave
设置为 false
,文档仍被重新保存?好像文档在无休止地保存...
这是我当前的配置:
app.use(session({
secret: config.secret,
resave: false,
saveUninitialized: false,
unset: 'destroy',
store: new MongoStore({
mongooseConnection: mongoose.connection,
touchAfter: 3600, //Restore once every hour
autoRemove: 'interval',
autoRemoveInterval: 60 //Remove after one hour
})
}));
目前最多只有大约 3 个用户在使用我的应用程序。
所以它有两个问题,一个是你的会话太多,另一个是你的会话没有被删除
可能是您的客户发出的请求没有在 cookie 中保存 sessionId。因此,对于每个请求,它都会创建一个新文档。
同时检查您是否在 mongodb 数据库中定义了 TTL 索引。