可以将单个字段设置为在MongoDB中过期吗?

aer*_*ale 7 ttl mongodb

我想知道是否可以使文档中的单个字段过期而不是整个文档.

阅读了有关TTL索引和到期数据的文档后,似乎只能根据字段使文档到期,但我想确认一下.

这个问题的背景是我有一个Statistics集合,其中包含每个文档中每月,每周,每日和每小时统计信息的字段.我可以把它分成4个单独的集合,这样每个集合中的文档可以使用不同的TTL,但是我相信这也意味着我需要相应地将我的批量更新分解为每个集合的一个批量更新.如果可能的话,我想保持一次批量操作的效率优势.

Mar*_*k_H 5

到目前为止这是不可能的。

如果它不是写入繁重的数据库,您的解决方案就可以。而如果你想减少写入频率,还有另一种解决方案:在某个服务器上运行一个计时器,用于每1分钟(或几分钟,取决于你需要的精度)从slave mongo实例查询过期文档。然后手动更新这些文档。