我正在尝试使用connect-mongo模块存储会话,但是我收到以下错误:
TypeError: Cannot read property 'upserted' of undefined
connect-mongo
的用法如下:
import session from 'express-session';
const MongoStore = require('connect-mongo')(session);
app.use(session({
secret: 'SECRET',
store: new MongoStore({ url: 'mongodb://mongo:27017/sessions' }),
saveUninitialized: true,
resave: false
}));
同时,我可以看到正在重新加载的每个页面上创建会话条目,其中包含以下内容:
{
"_id": "zO68C8OuARTUblw3EqHfUikR_IIHRaQq",
"session": "{\"cookie\": \"originalMaxAge\":null,\"expires\":null,\"httpOnly\":true,\"path\":\"/\" }}",
"expires": new Date(1470779765287)
}
并且到期日期设置为创建时间戳(默认值)
之后的14天使用的包版本:
"cookie-parser": "^1.4.3",
"connect-mongo": "^1.3.1",
"express": "~4.0.0",
"express-session": "^1.14.0",