【发布时间】:2013-12-27 18:53:10
【问题描述】:
我正在使用 mongoStore 来管理 express.js 框架上的会话。
...
var MongoStore = require('connect-mongo')(express);
...
...
app.use(express.session({
secret:settings.cookieSecret,
store: new MongoStore({db:settings.db})
}));
...
但这是 mongoDB 上的会话集合中的记录
> db.session
s.find()
{ "_id" : "gLQe0NwaSmk9nPu6vOWKuSy0", "session" : "{\"cookie\":{\"originalMaxAge\":null,\"expires\":null,\"httpOnly\":true,\"path\":\"/\"},\"flash\":{},\"user\":null}", "expires" : ISODate("2013-12-24T05:02:33.308Z") }
{ "_id" : "SoqYLZnEzlVCdj4A1606fDPg", "session" : "{\"cookie\":{\"originalMaxAge\":null,\"expires\":null,\"httpOnly\":true,\"path\":\"/\"},\"flash\":{},\"user\":\"vvv\"}", "expires" : ISODate("2013-12-24T09:43:55.098Z") }
{ "_id" : "pBtoFt6sR2EvNCuPJVqAFVpR", "session" : "{\"cookie\":{\"originalMaxAge\":null,\"expires\":null,\"httpOnly\":true,\"path\":\"/\"},\"flash\":{}}", "expires" : ISODate("2013-12-24T09:24:27.846Z") }
{ "_id" : "MEkFGzd190YeJAGDH3nzLT14", "session" : "{\"cookie\":{\"originalMaxAge\":null,\"expires\":null,\"httpOnly\":true,\"path\":\"/\"},\"flash\":{}}", "expires" : ISODate("2013-12-24T09:44:10.585Z") }
>
我的理解是他们应该在客户端 cookie 和服务器数据库或内存的某个地方存储 connect.id 的值。由于我使用的是 connect-mongo,因此 connect.id 应该存储在 db.sessions 中。
但我在服务器端找不到 connect.id。他们在哪里存储这个值?如果我的理解有误,请指正。谢谢!
【问题讨论】:
标签: node.js mongodb cookies express