MongoDb嵌套数组查询,不包括关键字

时间:2016-10-14 20:24:07

标签: mongodb

下面我列出了三个动物园。我正在寻找一个mongoDB查询,它会给我所有动物的动物都有type而不是“狗”。对于以下文档,应返回编号为1和编号3的动物园,因为在animal数组中有type不等于dog的动物。

 {
   "name": "Best zoo ever",
   number: 1,
   "animals": [
     {
       "type": "cat",
       "name": "sylvester"
     },
     {
       "type": "dog",
       "name": "scooby"
     }
   ]
 }

 {
   "name": "nyc zoo",
   number: 2,
   "animals": [
     {
       "type": "dog",
       "name": "scooby"
     }
   ]
 }

 {
   "name": "brooklyn zoo",
   number: 3,
   "animals": [
     {
       "type": "fish",
       "name": "dori"
     }
   ]
 }

1 个答案:

答案 0 :(得分:1)

您可以使用$ elemMatch和$ ne:

进行查询
 db.zoos.find({ "animals": { $elemMatch: { type: { $ne: "dog" }} }})

$elemMatch docs

$ne docs