Mongodb⽂档中字段是否有先后顺序之分?
在这⽚⽂章中,简单谈谈关于Mongodb中字段先后顺序的问题。
Mongodb中的⽂档是⼀种Key:Value对组成的Json字符串,按理说,字段的先后顺序是不应该影响到查询操作的。
我们简单做个实验,往集合中插⼊⼀条记录:
这时候,我们通过以下两种⽅式查询都是⼀样的:
第⼀种⽅式:
第⼆种⽅式:
通过上⾯两种⽅式查询都可以查询出来结果,都是同⼀条记录。那是否就可以说明,字段顺序是没有区别的呢?别着急,我们再看⼀个例⼦。
⽐⽅我们在集合中插⼊了下⾯⼀条记录:
此时我们和上⾯⼀样,采⽤两种⽅式进⾏查询:
第⼀种⽅式:
第⼆种⽅式:
从两种查询⽅式的结果来看,其实结果是不⼀样的,第⼀种⽅式查询到了结果,但是第⼆种⽅式是没有查询到结果的。从这个实例来看,就可以告诉我们,当我们在查询具有嵌套⽂档的集合中,还是要稍微注意⼀点的,否则很有可能就会出现上⾯的情况。
我们如何避免出现上⾯这样因为书写顺序⽽导致的查询结果不⼀样的情况呢?有个办法,那就是在查询时不要使⽤json字符串进⾏查询,在这种具有嵌套⽂档的集合中,可以使⽤点符号进⾏操作,我们采⽤下⾯两种⽅式进⾏查询。
第⼀种⽅式:
insert语句字段顺序
第⼆种⽅式:
通过结果可以知道,这两种⽅式查询出来的结果是⼀样的,由此可见,不管是对于简单的查询,还是对于具有嵌套⽂档的查询,不在查询字符串中对字段值使⽤Json串书写格式,⽽是使⽤点号进⾏嵌套引⽤查询才是⽐较合适的做法,可以防⽌因书写字段顺序和⽂档中的字段顺序不⼀样导致的查询错误。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。