如何在mongoDB中将文档标记为已标记/已删除

时间:2018-09-10 13:54:31

标签: mongodb mongoose database-design nosql

因此,我有几种选择可以从查询中临时隐藏(禁用)或永久隐藏(删除)文档。

除了进行维护外,我不打算“物理”删除数据。

我能做什么:

  • 添加两个属性,例如:“ disabled:true”和“ deleted:false”
  • 添加一个状态字段,例如:“ status:'deleted | disabled | other'”
  • 转过来(仅显示活动文档),例如:“状态:'活动'”或“活动:true”。

查询时,我可以在每个查询中查询这些属性,也可以查询仅返回“活动”文档的mongoDB视图。

数据库的目的是帮助用户找到他们可能想要加入的项目。我也使用mongoose,但是许多查询可能是本地mongoDB查询。

那么就性能,可伸缩性和潜在工作而言,什么是“最智能的解决方案”?

1 个答案:

答案 0 :(得分:0)

我要去一个状态栏。 它更通用,如果您需要添加额外的值,则无需创建新字段,并且如果您想要拥有多个状态(例如“活动”和“已启用”),甚至可以将状态字段设置为数组。

我不理解“查询mongoDB视图”,但是对我来说解决方案非常简单。 只需添加到曾经查询过的db.collection.find({..., "status" : "deleted"})