如何使用MongoDB搜索嵌套数组?

时间:2017-08-21 15:42:28

标签: javascript arrays mongodb

我正在尝试过滤数组,只返回角色为' admin'的对象。

但是,包含该角色的字段嵌套在数组中的多个级别下。什么是正确的MongoDB语法才能获取值?

以下是它的外观示例。它是角色>公司名称> 0>的

        _id:"Pgxoyv"
        createdAt:"Fri Aug 18 2017"
        roles: {} 1 key
             Company Name: [] 1 item
                  0:"admin"

我已尝试过滤,但公司名称"也是在抛出错误。任何帮助,将不胜感激。这是我到目前为止所尝试的内容,但是没有返回任何值:

Meteor.users.find({
            roles: 'admin'
        }).fetch();

2 个答案:

答案 0 :(得分:0)

你可以尝试

Meteor.users.find({
        roles.companyName: 'admin'
    }).fetch();

答案 1 :(得分:0)

假设您的数据如下:

{
    "roles": {
        "Company Name": [ 
            "admin"
        ]
    }
}

你可以做一个

Meteor.users.find({"roles.Company Name": "admin"})