首页 > 解决方案 > 如何在指定时间后自动从 MongoDB 中的文档中删除数据

问题描述

我的一个字段是 MongoDB 文档中的一个数组。我希望在指定时间后从该数组中删除一个元素。我怎么做?

我尝试了 mongo TTL,但它删除了整个文档。

标签: node.jsmongodbmongoose

解决方案


MongoDB 没有满足您要求的功能。

创建一个执行脚本的作业(例如,Linux 中的 CRON 作业,Windows 中的计划任务),该脚本会删除该属性。该脚本可以采用多种方法。您可以拥有另一个集合来标识您尚未更新(或已更新)的文档。您可能需要烘焙一些索引更改。您可以重组架构以使数组成为自己的文档;塞尔吉奥·图连采夫的建议。但是,你明白了要点。您需要自己构建逻辑。


推荐阅读