$all匹配所有
这个操作符跟SQL 语法的in 类似,但不同的是, in 只需满足( )内的某一个值即可, 而$all 必须满足[ ]内的所有值,例如:
db.users.find({age : {$all : [6, 8]}});
可以查询出:
{name: 'David', age: 26, age: [ 6, 8, 9 ] }
但查询不出:
{name: 'David', age: 26, age: [ 6, 7, 9 ] }
首先创建含有数组的数据:
db.users.insert(
{"name":"David",age:26,course:["js","Node","Mongodb"]},
{"name":"Tom",age:26,course:["js","Node","Mongoose"]})
查询在users中course字段同时包含"js"和"Mongodb"的文档记录:
db.users.find({course:{$all:["js","Mongodb"]}});