Mongo会犯这样的错误吗?

时间:2013-05-26 23:43:02

标签: mongodb nosql

假设我有一个用户文档,填充了ObjectIds数组。 它们是对另一个集合中的文档的引用。

我想从特定用户的数组中加载所有内容。所以我这样做:

find({ _id: $in : someArrayOfObjectIds})

某些引用可能会引用已删除的内容。 因此,上面的“find”调用的结果数组可能比someArrayOfObjectIds小。

因此,对于未找到的所有ObjectIds,我现在可以安全地假设该文档不再存在,或者我的查询无法找到文档(mongo会犯错)。

1 个答案:

答案 0 :(得分:1)

是的,您可以放心地假设丢失的文档不存在。顺便说一句,您的查询无效。应该是这样的:

find({ _id: {$in : someArrayOfObjectIds}})
  

或者我的查询无法找到文档

如果有可能,没有人会使用它。笔和纸方法是一个更安全的替代方案,DB犯了这样的错误:)