mongodb - MongoDB - 是否排序保持具有相同价值的文档的顺序?
问题描述
一个相当简单的问题,但我没有要测试的数据库......
如果我对一个值进行排序,我的其他值的顺序会保留吗?
说我的 mongoDB 数据看起来像这样
id, a
0, 1
1, 1
2, 2
3, 2
我对a进行排序,降序。id的顺序会保留吗?像这样?
id, a
2, 2
3, 2
0, 1
1, 1
在相关说明中,我可以像这样将排序相互链接:
cursor.sort([("id",1)]).sort([("a",1)])
这会确保结果按 a 主要排序,然后按 id 排序吗?
谢谢您的帮助
解决方案
该文件指出
结果排序
除非您指定 sort() 方法或使用 $near 运算符,否则 MongoDB 不保证查询结果的顺序。
所以你可以推断,在排序后的字段之后,任何其他字段的顺序也不能得到保证。
从同一个文档中,您还可以看到 sort 函数可以采用多个字段,即
db.orders.find().sort( { "item.category": 1, "item.type": 1 } )
只需几分钟即可下载 mongodb 并设置您自己的数据库进行尝试,试一试!
推荐阅读
- html - 使用 moment.js 来指示 mongoDB/mongoose 上次更新的时间?
- notepad++ - 如何用记事本++中的一个共同点替换所有单词
- javascript - 如何使用 javaScript 文件作为其他 JavaScript 文件的高阶包装器
- r - 将向量列表转换为数据框
- node.js - 如何使用 NodeJS 13 和 Typescript 3.8 导入 esm 模块?
- dart - 如何删除字符串中的前导0
- css - 如何在 tornado fx 中制作带圆角的文本字段?(科特林)
- c# - 如何在 UserManager CreateAsync 中查看控制器中出现的错误?
- reactjs - React props 状态同步导致不必要的第一次重新渲染
- python - 我可以在 PyQt5 应用程序中嵌入处理窗口吗?