【发布时间】:2015-06-19 02:52:44
【问题描述】:
在阅读 mongodb 权威指南时,我遇到了以下段落:
文档中的键/值对是有序的:{x:1,y:2} 与 {y:2,x:1} 不同。字段顺序通常无关紧要,您不应将架构设计为依赖于特定的字段顺序。
我想知道
- 上面的 x 和 y 例子怎么不一样。
- 谁能用一个用例实例解释我,其中架构 设计取决于一定的字段顺序。以及如何不同的顺序 会影响编程逻辑
谢谢。
【问题讨论】:
在阅读 mongodb 权威指南时,我遇到了以下段落:
文档中的键/值对是有序的:{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
【讨论】: