因此,我有几种选择可以从查询中临时隐藏(禁用)或永久隐藏(删除)文档。
除了进行维护外,我不打算“物理”删除数据。
我能做什么:
查询时,我可以在每个查询中查询这些属性,也可以查询仅返回“活动”文档的mongoDB视图。
数据库的目的是帮助用户找到他们可能想要加入的项目。我也使用mongoose,但是许多查询可能是本地mongoDB查询。
那么就性能,可伸缩性和潜在工作而言,什么是“最智能的解决方案”?
答案 0 :(得分:0)
我要去一个状态栏。 它更通用,如果您需要添加额外的值,则无需创建新字段,并且如果您想要拥有多个状态(例如“活动”和“已启用”),甚至可以将状态字段设置为数组。
我不理解“查询mongoDB视图”,但是对我来说解决方案非常简单。
只需添加到曾经查询过的db.collection.find({..., "status" : "deleted"})