提问者:小点点

在MongoDB中的特定时间删除集合的所有文档


目标是在每天插入第一个新文档时删除集合中的所有旧文档。所以收藏只保存日常文档,丢弃旧文档。

这里的关键部分是集合需要保留旧文档,直到当天的第一个新文档。也有可能几天内没有文件插入,所以要保留旧的。

一个可能的解决方案是使用预先或后Save middleware,每次将当前日期与最近插入的文档创建日期进行比较。但我认为这是太多的工作,也许有更有效和更好的方式来做这件事。

如有任何建议,将不胜感激。


共1个答案

匿名用户

MongoDB唯一需要删除的文档是TTL(time to live),这里是MongoDB索引。

但具体到你的案子,就像你说的,没有别的办法了。预保存是您可以在mogoose中使用的函数。