我查看文档并且似乎无法找到它。我使用MongoDb作为我的应用程序的会话存储。我已将会话cookie设置为在10分钟后通过session.js
文件
cookie: {
maxAge: 10 * 60 * 1000
}
当cookie过期时会从会话存储中删除记录吗?或者我是否需要通过在集合上设置TTL在mongo中手动执行此操作?喜欢:
sails.sessions.createIndex( { "createdAt": 1 }, { expireAfterSeconds: 600 } )
答案 0 :(得分:1)
经过一些实验和测试后发现,默认情况下这是开箱即用的。一旦你在sessions.js文件中设置了cookie max age,就像这样:
cookie: {
maxAge: 60 * 1000
}
换句话说,60秒后会话到期。当sails创建要存储在集合中的文档时,sails会在文档中放置一个名为" expires"并将其设置为当前日期加上cookie.maxAge。
并且根据此处的文档:http://docs.mongodb.org/manual/tutorial/expire-data/清理数据的过程大约每60秒运行一次,因此删除最长时间之前至少需要很长时间。
长话短说,只要您设置了maxAge,会话将在到期时间后删除。