mongoDb中键值的顺序

Yas*_*n K 2 mongodb mongo-shell

mongo代码:

db.temperature.insert({“ x”:3,“ y”:4});

db.temperature.find();

输出 {“ _id”:ObjectId(“ 52b418fb132c1f3236831447”),“ y”:4,4,“ x”:3}

请帮助我理解为什么在我的情况下(上)。即使插入顺序不同,find方法也会先显示Y值,然后再显示x值。

感谢任何帮助。

Mak*_*dis 5

引用/sf/answers/451762881/

MongoDB中基于JSON原理的文档结构和集合结构。JSON是一组键/值对(特别是文档的fieldName / fieldValue和收集的索引/ document)。从这个角度来看,您似乎根本就不能依靠订单。

这意味着,不需要mongodb返回一个记录的字段的特定顺序。您需要准备好以可能返回结果的顺序来解析结果。

  • 但是,如何查询wrt复合索引?https://docs.mongodb.com/manual/tutorial/sort-results-with-indexes/#sort-on-multiple-fields它说{a:1,b:1}和{b:1,a:1 } 是不同的。mongo如何确保这一点? (2认同)