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

问题描述 投票:1回答:1

所以我有一些选择暂时隐藏(禁用)或永久隐藏(删除)我的查询中的文档。

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

我能做什么:

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

在查询时,我可以在每个查询中查询这些属性,或者我可以查询mongoDB视图,它只返回“活动”文档。

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

那么在性能,可扩展性和潜在努力方面,什么可能是“最智能的解决方案”?

mongodb mongoose database-design nosql
1个回答
0
投票

我会选择一个状态字段。它更通用,如果你需要添加一个额外的值,你不需要创建一个新的字段,如果你想拥有更多的那个状态(如ACTIVE和ENABLED),你甚至可以将状态字段设置为数组。

我不明白“查询mongoDB视图”,但对我来说解决方案很简单。只需添加到查询db.collection.find({..., "status" : "deleted"})

© www.soinside.com 2019 - 2024. All rights reserved.