我想在mongo db集合中实现软删除(硬删除每天在特定进程中进行一次)。 我的应用程序可以列出该集合的所有活动元素+ N个最近删除的元素。
我的想法是在项目中添加标记to_delete
:删除元素时
- 将
deletion_date
设置为当前日期 - 为删除的元素设置
to_delete: true
,除了最近的5个元素(deleting_date
最高)
这样,我的列表和硬删除都很容易实现:
- 列出是一个简单的请求,返回所有具有
to_delete=false
的元素 - 硬删除是一个简单的请求,删除所有具有
to_delete=true
的元素
我的问题是知道我可以编写以下查询:
- 为删除的元素设置
to_delete: true
,除了最近的5个元素(deleting_date
最高)