回答
單個find
不應該返回重複的結果,因爲在Mongo中沒有連接這樣的事情,所以沒有任何情況下單個文檔將被查詢返回兩次。所以你所描述的事情聽起來應該是永遠不會發生的 - 但是如果沒有更多的細節,很難說。
但是,有一種可能性是find
返回一個打開的遊標,因此,例如,如果您正在迭代大量文檔並隨時更新它們,則最終可能會在稍後再次獲取相同的文檔。原因是您的更新可能會增加文檔的大小,使其不再適合其擁有的空間,因此它必須在收集結束時重新分配空間,之後再次由光標。如果這就是你正在做的事情,你可能需要考慮以不同的方式進行更新。
如果只想所有不同user._id,使用db.users.distinct(「_ ID」)
,如果你想用不同的_id整個記錄你必須考慮的策略2之間進行選擇的使用相同的用戶記錄._id 您可以使用組或地圖縮小但您必須考慮,當有2個用戶具有相同的_id時,我想要什麼。
順便說一下,_id通常由mongodb生成,並且應該是唯一的。如果您有兩個相同的ID,您或者您的收藏夾中插入率非常高,或者您自己生成_id。 是否有任何特殊的原因你正在產生非獨特的_id?
不應該_id字段總是唯一的,不管它是如何生成的?它說「對於集合中的每個文檔,_id必須是唯一的」(來自http://www.mongodb.org/display/DOCS/Object+IDs)。 – burger
你是對的,他們應該是獨一無二的:http://www.mongodb.org/display/DOCS/Object+IDs – kamaradclimber
- 1. db.collection.find()不具有查詢
- 2. 查詢結果不同於SSRS結果
- 3. MySQL:BETWEEN - 查詢中的不同結果
- 4. WordPress的SQL查詢不同的結果
- 5. 從不同表中查詢SQL查詢結果的值
- 6. 查詢結果與存儲過程中的查詢不同
- 7. 在子文檔中使用db.collection.find查詢
- 8. 更新不同查詢的結果列
- 9. LISTAGG查詢結果不同的值
- 10. CSS媒體查詢不同的結果
- 11. 查詢返回不同的結果
- 12. 數據庫查詢不同的結果
- 13. MDX查詢返回不同的結果
- 14. SQL查詢不同的結果
- 15. 具有不同結果的SQL查詢
- 16. Couchbase查詢 - 不同的結果
- 17. LINQ查詢示出不同的結果
- 18. SSRS結果與SSMS結果不同,查詢相同
- 19. 產生不同於其他查詢的MySQL的結果結果
- 20. 不同結果的讀取與查詢API的結果與HQL
- 21. db.collection.find()被忽略的查詢條件
- 22. PHP和Toad Oracle查詢結果不同
- 23. Codeigniter和Oracle查詢結果不同步
- 24. 顯示查詢結果不同
- 25. PostgreSQL結果在不同的查詢中有相同的解釋
- 26. 相同的查詢在SQL中產生不同的結果
- 27. 結果排序從不同的表結果在一個查詢
- 28. 存儲過程返回不同於結果的查詢結果
- 29. 對不同對象的兩種不同查詢,結果相同
- 30. 查詢獲得兩個不同查詢結果的差異值
你可以添加你試過的示例查詢嗎? – RameshVel