返回匹配的数组元素
db.tblDaily.find(
{"Comments.CommentId":3},
{"Comments.$":1,"_id":0}
).pretty()
结果:
数组范围查询
范围会匹配任意多个元素数组,$elemMatch 不会匹配非数组元素。
查询 x在2到5之间的文档:
db.test.find(
{"x":{$elemMatch:{$gt:2,$lt:5}}}
).pretty()
结果:
db.test.find(
{"x":{$gt:2,$lt:5}}
).pretty()
结果:
疑问: 大于、小于和大于等于、小于等于查询结果对比,发现{“x”:[1,5]}这个文档,在两个查询中都有出现,
按照常理,2到5之间(大于小于)的话,{“x”:[1,5]}应该是不包含的。