php mongo 范围查询语句,【MongoDB】数组和范围查询的相互作用

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

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

ea308dbc376889d0810cb5deadebcf23.png

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

c3f994851993212146397798e4e9cfd0.png

5f4fc07500f23bfd2a3715b414b23328.png

从上图可以看出:

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

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

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值