只是想知道是否有一个可以对mongodb进行调用会强制它检查设置了TTL值的集合? (而不是等到它到处时)
答案 0 :(得分:0)
假设您知道具有TTL索引的字段和您在其上设置的TTL时间,您只需执行此查询即可。它本质上是TTL机制定期执行的操作。
db.collection.remove({ fieldWithTimeToLiveIndex: { $lt: new Date() - TTLTime } });
答案 1 :(得分:0)
你为什么要那样做? TTL监视器不是限制结果的工具,而是清理数据库的工具。因此,不要手动触发TTL,而是在查询中限制结果:
db.collection.find({..., dateField: {$gt: someExpirationDate} })
这样做的好处是它更可靠,因为它不会返回即将删除的结果,但也不会。