基本問題。 mongodb find命令是否總是按照添加到集合中的順序返回文檔?如果沒有如何以正確的順序執行選擇文檔? 排序?但是,如果同時添加的文檔和創建日期相同的文檔相同,但仍然有訂單。Mongodb商店和選擇順序
回答
嗯,是的,並不完全。 文檔默認按自然順序排序。這最初是文檔存儲在磁盤上的順序,這實際上是將文檔添加到集合中的順序。 但是,這個順序並不是確定性的,因爲一旦這些文檔在更新操作之後增長,文檔就可能在磁盤上移動,並且不能再適合當前空間。這樣,初始(插入)順序可能會改變。
只要_id是ObjectId類型,保證插入順序排序的方法是排序{_id:1}。這將返回按升序排序的文檔。
寫入操作不會同時發生。寫入鎖定在數據庫級別(V 2.4及以上)。 _id的前四個字節是插入時間戳,最後3位是隨機計數器,用於區分具有相同時間戳的ObjectId實例(並對其進行排序)。
_id字段默認索引
如果我按{_id:1}排序,引擎是否會應用一些內部邏輯以正確的順序排序文檔? – WHITECOLOR 2013-03-17 23:13:15
是的,按ID排序意味着插入順序 – 2013-03-17 23:16:45
只要'id'表示'_id'字段 – 2013-03-17 23:53:04
- 1. 商品的順序選擇
- 2. 商店加載順序
- 3. mongodb商店和按顏色排序
- 4. 選擇JavaMail「本地商店提供商」
- 5. 從商店中選擇的應用程序中的iphone商店圖像
- 6. 商店使用的MongoDB和Java
- 7. random.sample和「選擇順序」
- 8. Spotfire消費者中的商店選擇
- 9. 網上商店的價格選擇
- 10. ngrx商店4選擇不工作
- 11. NgRx無法從商店中選擇
- 12. 商店序列
- 13. CSS選擇順序
- 14. 按順序選擇
- 15. HockeyApp Crash Analytics - 應用程序商店和Play商店
- 16. 商店和setRequest
- 17. AngularJS選擇選項順序
- 18. 按選擇順序排序
- 19. 商店應用程序首選項Android
- 20. Extjs:根據陣列順序對商店排序
- 21. CSS選擇器類和元素順序
- 22. MySQL的選擇GROUP BY和順序按
- 23. 熊貓GROUPBY和選擇順序
- 24. Magento - 使用多選和商店視圖
- 25. 商店的單選按鈕和值Checkbuttons
- 26. 無法讓MongoDB商店使用PassportJS
- 27. 映射到舊版MongoDB商店
- 28. AngularJS和null選擇值取決於選擇順序
- 29. 選擇輸入順序
- 30. Mysql的選擇順序
是否http://stackoverflow.com/questions/11599069/what-does-mongo-sort-on-when-no-sort-order-is-specified/11599283答案你的問題? – WiredPrairie 2013-03-17 23:03:51