我想以特定的方式(-1,1)對索引進行排序,並且希望確保空值位於索引的頂部。我如何確保這一點?MongoDB索引中的空值是如何排序的?
回答
如果您按降序排序,並且您在最後看到null
值,那將是該排序的默認行爲。
有真的沒有太多可以做,以改變這種行爲,但有解決方法,會給你你正在尋找的結果是做兩個查詢,而不是一個:
db.Collection.find({ a: null });
db.Collection.find({ a: { $ne: null } }).sort({ a: -1, b: 1 });
我可以以某種方式創建一個反向排序索引並將其與findOne一起使用?所以它只是給了我一個空值,如果有任何空值? – user1680104 2013-03-08 18:13:12
@ user1680104'findOne'不支持排序。但是,如果你有興趣使用'findOne'來找到一個空值,你可以做一些像'db.collection.findOne({a:null})' – 2013-03-12 21:20:50
我知道。我只是想基本上有一個「如果一個存在null存在,否則採取一個」一個查詢。 – user1680104 2013-03-13 14:01:18
你說「我只是想基本上有一個'如果一個存在null存在,否則採取一個沒有'一個查詢」,那麼db.collection.find()。sort()。limit(1) ?
- 1. mongodb索引查找索引排序
- 2. 適當的索引和MongoDB排序
- 3. Mongodb中的排序值
- 4. 如何在MongoDB中使用索引進行排序?
- 5. MongoDB中的位置倒排索引
- 6. Mongodb索引是如何工作的?
- 7. mongodb在排序時不使用索引?
- 8. MongoDB索引用於查找和排序
- 9. mongodb能夠索引空值嗎?
- 10. C#中的MongoDB地理空間索引#
- 11. 的MongoDB:如何索引
- 12. mongoDB在排序時如何排序值,如果值相同?
- 13. WiredTiger MongoDB引擎排序:「自然順序」是否等同於使用MongoDB中的WiredTiger引擎「排序」?
- 14. 如何排序的索引數據幀
- 15. mongoDB中的唯一索引3.2忽略空值
- 16. 如何更改索引的索引是空的
- 17. mysql 5.0的索引是否爲空值?
- 18. mysql的索引是否爲空值?
- 19. mongodb的索引
- 20. 如何將索引頁上的記錄按多個值排序?
- 21. 如何對索引和值的熊貓系列進行排序?
- 22. 排序未排序索引的數組
- 23. MongoDB的地理空間草堆索引
- 24. mongodb降序升序索引
- 25. 排序後檢索索引值Enum按字母順序排列
- 26. 按mongodb nodejs中的最大值排序
- 27. MongoDB的索引中的Node.js
- 28. 索引MongoDB中
- 29. 如何讀取MongoDB中的多鍵索引值?
- 30. 如何檢查ArrayDeque的索引和索引是否爲空?
當你排序時,空值將會在最上面,如果你想讓它們最後到達,你需要在 – Sammaye 2013-03-07 09:50:47
之外加上一個非空值。謝謝。如果我使用.findOne()並且它們被編入索引,那麼這是否意味着它們將處於頂端? – user1680104 2013-03-07 11:44:07
findOne只會找到一個文件。他們應該在find()上儘管 – Sammaye 2013-03-07 11:45:33