在MongooseJS对象数组中查找特定属性

时间:2019-02-22 23:31:30

标签: node.js mongodb mongoose

我有一个MongoDB对象,其中包含一组对象,结构为

{
    otherInfo: String,
    invited: [{
        code: String,
        email: String
    }],
    moreInfo: String
}

我正在尝试使用特定代码在该数组中查找特定对象,然后获取与该代码关联的电子邮件。
我已经尝试过.find({ invited: { $all: [{ code: 1234567890 }]}}),但没有返回任何内容。我尝试了其他变体,但似乎都没有奏效

2 个答案:

答案 0 :(得分:1)

尝试这样

Field.verbose_name

或尝试以下操作:

Field.name

答案 1 :(得分:1)

您可以使用$elemMatch来解决您的查询

  

$ elemMatch运算符将查询结果中字段的内容限制为仅包含与$ elemMatch条件匹配的第一个元素。

尝试

db.collection.find({ invited: { $elemMatch: { code: 1234567890 } } } )