提问者:小点点

在数组中查找包含特定值的文档,或存在于数组中[重复]


这里我有两个文档,我需要找到数组是否存在“admin”$in$存在的最佳方式是什么?

{
    "url_name" : "List All Active clients",
    "org_url" : "localhost:4523/create_project/active_clients_list",
    "site_url" : "create_project/active_clients_list",
    "roles" : {
        "writer" : [ 
            "get", 
            "post", 
            "put"
        ],
        "admin" : [ 
            "get", 
            "post", 
            "put"
        ]
    },
    "updated_on" : ISODate("2018-08-21T05:09:25.896Z"),
    "created_on" : ISODate("2018-08-21T05:09:25.896Z")
}, {
    "url_name" : "List All Active clients",
    "org_url" : "localhost:4523/create_project/active_clients_list",
    "site_url" : "create_project/active_clients_list",
    "roles" : {
        "writer" : [ 
            "get", 
            "post", 
            "put"
        ]
    },
    "updated_on" : ISODate("2018-08-21T05:09:34.407Z"),
    "created_on" : ISODate("2018-08-21T05:09:34.407Z")                    
}

考虑这两个文档,我需要找到“admin”存在的文档


共1个答案

匿名用户

使用mongoDB$存在查询运算符:

db.collection.find({ "roles.admin": { "$exists": true } })

语法:

{ field: { $exists: <boolean> } }