mongodb查询某个字段中的值全部属于某数组

{
    "_id": ObjectId("5e60621d0924de3bb07aefca"),
    "Roles": [
        "A"
    ]
}

{
    "_id": ObjectId("5e60621d0924de3bb07aefcb"),
    "Roles": [
        "A",
        "B"
    ]
}

{
    "_id": ObjectId("5f8169034476783574784071"),
    "Roles": [
        "B",
        "D"
    ]
}

例如要查询Roles字段的值全部在["A","B","C"]的记录,查询结果为前两条

可以使用以下 MongoDB 查询语句实现:

db.collection.find({"Roles": {"$all": ["A", "B", "C"]}})

其中,$all 操作符用于查询 "Roles" 字段的值是否全部都属于 ["A", "B", "C"] 数组。

使用该查询语句,将返回 "Roles" 字段的值全部属于 ["A","B","C"] 的记录。对于上面给出的数据,查询结果为前两条记录。