Mongo查询数组

时间:2018-03-17 18:01:11

标签: mongodb

我有一个Mongo文档,其中包含(除其他外)以下信息:

{
    "_id": "1519649521772A",
    "setTitle": "Los Animales",
    "vocab": [{
        "english": "the dog",
        "foreign": "el perro"
    },{
        "english": "the cat",
        "foreign": "el gato"
    }]
}

现在,我正在尝试进行一些查询以查找此文档。以下查询按预期返回此文档:

db.cardsets.find({setTitle:"Los Animales"})

但是这个没有回报:

db.cardsets.find({vocab:{foreign:"el gato"}})

有人能告诉我查询有什么问题吗?我尝试了几个带引号和不带引号的版本。

1 个答案:

答案 0 :(得分:0)

尝试使用$elemMatch运算符:

db.cardsets.find({vocab: {$elemMatch: {foreign:'el gato'}})

它用于匹配数组中的元素。 Documentation