我想以特定的方式(-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. WiredTiger MongoDB引擎排序:「自然順序」是否等同於使用MongoDB中的WiredTiger引擎「排序」?
- 8. mongoDB中的唯一索引3.2忽略空值
- 9. 如何排序的索引數據幀
- 10. mysql的索引是否爲空值?
- 11. mysql 5.0的索引是否爲空值?
- 12. MongoDB的地理空間草堆索引
- 13. mongodb降序升序索引
- 14. 如何對索引和值的熊貓系列進行排序?
- 15. 如何將索引頁上的記錄按多個值排序?
- 16. 排序後檢索索引值Enum按字母順序排列
- 17. 的MongoDB:地理空間索引和覆蓋索引查詢
- 18. 排序按索引的Java
- 19. 排序列上的索引
- 20. MongoDB。如何設置索引?
- 21. MongoDB中的索引列表?
- 22. 的MongoDB:排序文本搜索結果
- 23. 如何索引MongoDB的多值字段到Solr的5.3.0
- 24. 排序MongoDB中
- 25. 的MongoDB和索引
- 26. MultiTenant的MongoDb索引
- 27. MongoDB的索引(ensureIndex)
- 28. mongoDB:重複值的唯一索引
- 29. 如何獲得python中的排序列表的索引?
- 30. 排序和陣列保持索引值
當你排序時,空值將會在最上面,如果你想讓它們最後到達,你需要在 – Sammaye 2013-03-07 09:50:47
之外加上一個非空值。謝謝。如果我使用.findOne()並且它們被編入索引,那麼這是否意味着它們將處於頂端? – user1680104 2013-03-07 11:44:07
findOne只會找到一個文件。他們應該在find()上儘管 – Sammaye 2013-03-07 11:45:33