文档中的标量(非数组元素)必须与查询条件中的每一条语句相匹配。例如,如果使用{“x”:{"$gt":10, "$lt":20}进行查询,只会匹配“X”键的值大于等于10并且小于等于20的文档。但是假如某个文档的x字段是一个数组,如果x的键的某一个元素与查询的任何一条语句相匹配,那么这个文档就会返回。比如例子如下:
现在希望找到age的值在于10和20之间的所有文档:
从上图可以看出:
1. 可以使用‘$elemMatch’要求Mongodb同事使用查询条件中两个语句与一个数组元素进行比较,并且该标签不会匹配非数组元素。
2. 使用min和max时候一定要该字段添加索引,要不添加就会报错。
原文地址:http://blog.csdn.net/sxb0841901116/article/details/41920557