首页 >数据库 >mysql教程 >【MongoDB】数组和范围查询的相互作用

【MongoDB】数组和范围查询的相互作用

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB原创
2016-06-07 16:12:251444浏览

文档中的标量(非数组元素)必须与查询条件中的每一条语句相匹配。例如,如果使用{“x”:{$gt:10, $lt:20}进行查询,只会匹配“X”键的大于等于10并且小于等于20的文档。但是假如某个文档的x字段是一个数组,如果x的键的某一个元素与查询的任何一条语句相匹

文档中的标量(非数组元素)必须与查询条件中的每一条语句相匹配。例如,如果使用{“x”:{"$gt":10, "$lt":20}进行查询,只会匹配“X”键的值大于等于10并且小于等于20的文档。但是假如某个文档的x字段是一个数组,如果x的键的某一个元素与查询的任何一条语句相匹配,那么这个文档就会返回。比如例子如下:

\

现在希望找到age的值在于10和20之间的所有文档:

\

从上图可以看出:

1. 可以使用‘$elemMatch’要求Mongodb同事使用查询条件中两个语句与一个数组元素进行比较,并且该标签不会匹配非数组元素。

2. 使用min和max时候一定要该字段添加索引,要不添加就会报错。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn