Mongodb 如何在集合的所有文档中获取不同的现有密钥

Mongodb 如何在集合的所有文档中获取不同的现有密钥,mongodb,mongodb-query,Mongodb,Mongodb Query,我有下面的userRole集合,在其中,在单个对象中找到了来自此集合的associatePermission对象的不同键 e、 g.如果我在此对象中传递了2或3个角色,或者对于所有角色,我希望在单个对象中合并这些角色的所有权限 "userRole":{ "_id" : ObjectId("58902f6b5d474004b4034026"), "roleName" : "Filler", "permission" : { "ActionPermissions" : { "

我有下面的userRole集合,在其中,在单个对象中找到了来自此集合的associatePermission对象的不同键

e、 g.如果我在此对象中传递了2或3个角色,或者对于所有角色,我希望在单个对象中合并这些角色的所有权限

"userRole":{
"_id" : ObjectId("58902f6b5d474004b4034026"),
"roleName" : "Filler",
"permission" : {
    "ActionPermissions" : {
        "Incidence Management" : {
            "Trouble Ticketing" : {
                "Add Ticket" : {}
            }
        }
    }
},
"associatePermission" : {
    "ActionPermissions" : {
        "Incidence Management" : {
            "Trouble Ticketing" : {
                "Add Ticket" : {},
                "Bulk Closure" : true
            },
            "Ageing Report" : {
                "Filter Report" : true
            }
        },
        "Preventive Maintenance" : {
            "Edit Ticket" : {
                "Severity" : true
            }
        }
    },
    "DataPermissions" : {
        "Incidence Management" : {
            "Trouble Ticketing" : {
                "Add Ticket" : {}
            }
        }
    }
 }
},

{
    "_id" : ObjectId("58902f6b5d474556565"),
    "roleName" : "Filler",
    "permission" : {
        "ActionPermissions" : {
            "Incidence Management" : {
                "Trouble Ticketing" : {
                    "Add Ticket" : {}
                }
            }
        }
    },
    "associatePermission" : {
        "ActionPermissions" : {
            "Incidence Management" : {
                "Trouble Ticketing" : {
                    "Add Ticket" : {},
                    "Bulk Closure" : true
                },
                "Ageing Report" : {
                    "Filter Report" : true
                }
            },
            "Preventive Maintenance" : {
                "Edit Ticket" : {true}
            }
        },
        "DataPermissions" : {
            "Incidence Management" : {
                "Trouble Ticketing" : {
                    "Add Ticket" : {}
                }
            }
        }
    }
}

请添加所需的示例输出。您自己尝试过任何查询吗?是的,我尝试过许多与$distinct和$setunion相关的查询,根据示例输出,您可以看到在上面的集合中有两条记录存在于两个文档中“associatePermission”属性是常见的,只想合并。。尝试查询。。[上面的共享链接有一个不同的查询,但它为所有文档返回不同的对象,我想在此userRole集合中在单个对象中加入(联合)所有权限我无法看到,示例输出,请在您的问题中提及示例输出detail@PuneetSingh,样本输出[请添加您想要的示例输出。您自己尝试过任何查询吗?是的,我尝试过许多与$distinct和$setunion相关的查询。根据示例输出,您可以看到在上面的集合中,两个文档中都存在两条记录“associatePermission”属性很常见,只想合并..尝试过查询。。[上面的共享链接有一个不同的查询,但它为所有文档返回不同的对象,我想在此userRole集合中在单个对象中加入(联合)所有权限我无法看到,示例输出,请在您的问题中提及示例输出detail@PuneetSingh,样本输出[