利用all来查询所以满足的匹配项,已知数据库有这些数据
db.user.find({},{"_id":0}) { "fruit" : [ "apple", "banana", "cherry" ] } { "fruit" : [ "apple", "banana", "pear" ] } { "fruit" : [ "apple", "watermelon", "pear" ] }
需要查询出有apple和cherry的文档
db.user.find({"fruit":{$all:["apple","cherry"]}},{"_id":0}) { "fruit" : [ "apple", "banana", "cherry" ] }
与之前的OR查询($or $in)相比,$all的查询模式更像是去取交集,即同时满足查询条件才能被查询出来。