mongodb 中的键值对排序,它如何影响

key value pair ordering in mongodb, how does it affects

在阅读 mongodb 权威指南时,我看到了一段话: 文档中的 Key/value 对是有序的:{x:1,y:2}{y:2,x:1} 不同。字段顺序通常无关紧要,您不应将架构设计为依赖于特定的字段顺序。

我想知道

谢谢。

如果您对嵌入对象进行精确匹配,这很重要。

> db.test.drop()
> db.test.insert({ "z" : { "x" : 1, "y" : 2 } })
> db.test.insert({ "z" : { "y" : 2, "x" : 1 } })
> db.test.count({ "z" : { "x" : 1, "y" : 2 } })
1
> db.test.count({ "z" : { "y" : 2, "x" : 1 } })
1

不要设计依赖于此事实的架构。无论字段顺序如何,您都可以使用点符号进行匹配。

> db.test.count({ "z.x" : 1, "z.y" : 2 })
2