所以我有一些选择暂时隐藏(禁用)或永久隐藏(删除)我的查询中的文档。
我不打算“物理”删除数据,除非进行维护。
我能做什么:
在查询时,我可以在每个查询中查询这些属性,或者我可以查询mongoDB视图,它只返回“活动”文档。
数据库的目的是帮助用户找到他们可能想要加入的项目。我也使用mongoose,但许多查询可能是本机mongoDB查询。
那么在性能,可扩展性和潜在努力方面,什么可能是“最智能的解决方案”?
我会选择一个状态字段。它更通用,如果你需要添加一个额外的值,你不需要创建一个新的字段,如果你想拥有更多的那个状态(如ACTIVE和ENABLED),你甚至可以将状态字段设置为数组。
我不明白“查询mongoDB视图”,但对我来说解决方案很简单。只需添加到查询db.collection.find({..., "status" : "deleted"})