在一段时间不活动后自动删除mongodb文档

时间:2015-09-22 11:07:51

标签: node.js mongodb express express-session

我需要在指定的未访问时间后删除mongodb文档。

我有一个访问令牌,用于从外部源检索数据并将其保存在我的数据库中。

在我的会话中,我存储了一个用户ID,我可以在用户发出请求时使用检索访问令牌。

如果我的会话过期,我的数据库中保存的访问令牌将永远不会再次使用。

将提示用户重新进行身份验证,并将新的访问令牌保存在数据库中。

如果用户明确注销,我可以轻松地从数据库中删除现在无效的访问令牌。但是如果它们永远不会注销并且会话到期,那么数据库条目将无限期地保留。

我考虑过检测会话到期并运行一个函数来从我的数据库中删除相关的访问令牌但是如果会话在app未运行时到期会怎么样。

我认为我需要某种类型的维护工作,比如cron工作或我的数据库上的某些内容,它会在一段特定的时间段之后删除文档,

我如何使用mongoDB进行此操作?

1 个答案:

答案 0 :(得分:0)

找到了回答我问题的this问题。

基本上设置TTL并在访问数据时更新创建日期达到我想要的行为。