如何配置连接-mongo

How to configure connect-mongo

我正在使用 "connect-mongo" 节点模块将会话数据存储在 mongodb 中。

下面是我配置连接相关的代码-mongo

const cookieParser = require('cookie-parser');
app.use(cookieParser());
const session = require('express-session');
const mongoStore = require('connect-mongo')(session);

app.use(session({
secret: "test",
store: new mongoStore({
  url: mongodbURL,
  collection : 'sessions',
  autoRemove: 'interval',
  autoRemoveInterval: 1 // In minutes. Default
}
}));

一旦用户从浏览器连接到根“/”url,就会插入一条记录 在数据库中

 {
"_id": "EZ2sy6jHvnrlsyofqCrKVfPtp6hv5FX_",
"session": "{\"cookie\":{\"originalMaxAge\":null,\"expires\":null,\"httpOnly\":true,\"path\":\"/\"},\"name\":\"mongosession\"}",
"expires": ISODate("2016-06-14T15:19:15.548Z")
 }

我的问题是

  1. 为什么 "session" 的 originalMaxAge 和 expires 键为 null 并且 需要修改什么才能使这些键具有值。?

  2. 因为我已将 autoRemoveInterval 设置为 1 分钟,所以我假设该会话 数据库中的值将在 1 分钟内删除,但事实并非如此 需要修改什么才能实现?

  1. 配置 connect-sessioncookie 属性。默认情况下,maxAgenull,使 cookie 成为(浏览器)会话 cookie。
  2. 设置connect-mongottl属性,默认为14天(根据expires[=27=中的时间戳判断,这看起来是对的) ]). autoRemoveInterval 仅配置 connect-mongo 检查是否有任何应过期的会话的频率。