2013-05-26 23 views
0

說我有一個用戶文檔,充滿了ObjectIds的數組。 它們是對另一個集合中文檔的引用。Mongo會犯這樣的錯誤嗎?

我想加載特定用戶數組中的所有內容。所以我這樣做:

find({ _id: $in : someArrayOfObjectIds}) 

某些引用可能引用了已被刪除的內容。 因此,上述「find」調用的結果數組可能小於someArrayOfObjectIds。

因此,如果找不到所有ObjectId,我現在可以安全地假定該文檔不再存在,或者我的查詢可能無法找到文檔(確實是mongo犯了錯誤)。

+0

供參考:mongodb不會犯錯誤。它對文檔沒有參照完整性。 – WiredPrairie

回答

1

是的,您可以放心地假定丟失的文檔不存在。順便說一下,你的查詢是無效的。應該是這樣的:

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

或可我只是查詢無法找到

如果有可能,沒有人會使用它的文件。筆和紙的辦法是一個更安全的替代品,使得這種錯誤的數據庫:)

+0

感謝您的快速響應! – xrDDDD