下面我列出了三个动物园。我正在寻找一个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"
}
]
}
答案 0 :(得分:1)
您可以使用$ elemMatch和$ ne:
进行查询 db.zoos.find({ "animals": { $elemMatch: { type: { $ne: "dog" }} }})