如何配置connect-mongo

时间:2016-06-01 06:27:49

标签: node.js connect-mongo

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

以下是与配置connect-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
}
}));

用户连接root" /"来自浏览器的URL,正在插入记录 在数据库中

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

我的问题是

  1. 为什么原始的MaxAge会使" session"的键过期?是null和 什么需要修改,以便这些键具有值。?

  2. 由于我已将autoRemoveInterval设置为1分钟,因此我假设该会话 数据库中的值将在1分钟内删除,但情况并非如此 需要修改什么来实现这一目标?

1 个答案:

答案 0 :(得分:0)

  1. 配置connect-session的{​​{3}}属性。默认情况下,maxAgenull,使Cookie成为(浏览器)会话Cookie。
  2. 设置connect-mongo的{​​{3}}属性,默认为14天(通过expires属性中的时间戳判断为正确)。 autoRemoveInterval仅配置connect-mongo检查是否有任何会话过期的频率。