Mongodb monodb是否可以使用$in、多输入和固定条件以及分组结果之类的输出来实现这一点

Mongodb monodb是否可以使用$in、多输入和固定条件以及分组结果之类的输出来实现这一点,mongodb,Mongodb,有一个名为组成员的同事: { "_id" : ObjectId("5f817d142689512ef0bd3bd7"), "uid" : NumberInt(1), "group_id" : "g1" } { "_id" : ObjectId("5f817d142689512ef0bd3bd8"), &quo

有一个名为
组成员的同事

{ 
    "_id" : ObjectId("5f817d142689512ef0bd3bd7"), 
    "uid" : NumberInt(1), 
    "group_id" : "g1"
}
{ 
    "_id" : ObjectId("5f817d142689512ef0bd3bd8"), 
    "uid" : NumberInt(1), 
    "group_id" : "g2"
}
{ 
    "_id" : ObjectId("5f817d142689512ef0bd3bd9"), 
    "uid" : NumberInt(2), 
    "group_id" : "g2"
}
{ 
    "_id" : ObjectId("5f817d142689512ef0bd3bd1"), 
    "uid" : NumberInt(2), 
    "group_id" : "g3"
}

我希望在单个查询中得到这样的结果,map的键是input uid:

{1:["g1","g2"], 2:["g2","g3"]}
输入是uid数组,如下所示:
[1,2]
,组id的条件是固定的,如下所示:
[“g1”、“g2”、“g3”]

=================================


单个查询可以做到这一点吗?

我想要的结果是uid 1在组id数组中:[“g1”、“g2”],uid 2在组id数组中:[“g2”、“g3”]等等,比如
$unwind
输入[1,2],并且每个输入项在组id数组中使用
$,
[“g1”、“g2”、“g3”]
,然后组我想要的结果是uid 1在组id数组中:[“g1”、“g2”,uid 2在组id数组中:[“g2”、“g3”等,如
$unwind
input[1,2],每个输入项在组id数组中使用
$:
[“g1”、“g2”、“g3”]
,然后是组
db.test.aggregate(  
    [   
        {   $match: {"uid":{$in:[1,2]}, "group_id":{$in: ["g1","g2","g3"]}}},
        {   $group   : { _id : "$uid",  group_id : {$push: '$group_id' }}},    
    ]  
)