【发布时间】:2018-03-22 07:04:13
【问题描述】:
我有一个包含用户会话的集合,它有一个字段到期日期。我正在寻找一个类似 MongoDB 中的触发器的函数,它在任何记录日期过期时触发,我可以删除该记录。
这是我的收藏的样子
{
_id:"123",
sessionId:"dummy",
token:"asdasd",
deviceId:"123213",
expiryDate:"date"
}
【问题讨论】:
我有一个包含用户会话的集合,它有一个字段到期日期。我正在寻找一个类似 MongoDB 中的触发器的函数,它在任何记录日期过期时触发,我可以删除该记录。
这是我的收藏的样子
{
_id:"123",
sessionId:"dummy",
token:"asdasd",
deviceId:"123213",
expiryDate:"date"
}
【问题讨论】:
假设expiryDate 是实际的Date 类型而不是字符串,您可以使用TTL index 来执行此操作。
db.mycoll.createIndex({expiryDate: 1}, {expireAfterseconds: 0})
一旦当前时间大于expiryDate,将指示MongoDB自动从集合中删除文档。
【讨论】: