MongoDB 查出包含有list的部分项的记录 all/in/and
MongoDB,acl是"admin", "root"时,用以下命令查:
db.UserInfo.find({"acl": ["admin", "root"]})
但是acl是"admin", "root","其它项";即多于列出那两项时,就查不出来;
我想查包含有指定的两项时,就列出;可以多出其它项
db.UserInfo.find({"acl": {$all: ["admin", "root"]}}) //至少同时包含有这两项的就查出
db.UserInfo.find({"acl": {"$in": ["admin", "root"]}}) // 包含有这两项的,都查出;
db.UserInfo.find({"acl": {$all: ["admin", "root"]}}) //1
db.UserInfo.find({acl: {$all: ["admin", "root"]}}) //1
db.UserInfo.find( { $and: [ { acl: [ "admin", "root" ] } ] } ) //mongodb-win32-x86_64-windows-5.0.12 试了,只同时包含这两项才出现
db.UserInfo.find({ $and: [ { acl: "admin" }, { acl: "root" } ] }) //3 1与3的效果一样
Equivalent to $and
Operation
The