Mongodb 使用聚合搜索数据

Mongodb 使用聚合搜索数据,mongodb,mongodb-query,aggregation-framework,Mongodb,Mongodb Query,Aggregation Framework,我有一些文档的结构如下: { "_id": Mongoid, "relate_id": 1, "userid": user1 }, { "_id": Mongoid, "relate_id": 2, "userid": user2 }, { "_id": Mongoid, "relate_id": 1, "userid": user3 } 我的预期结果如下: { "relate_id": 1 "userid

我有一些文档的结构如下:

{
    "_id": Mongoid,
    "relate_id": 1,
    "userid": user1
},
{
    "_id": Mongoid,
    "relate_id": 2,
    "userid": user2
},
{
    "_id": Mongoid,
    "relate_id": 1,
    "userid": user3
}
我的预期结果如下:

{
    "relate_id": 1
    "userid": [user1, user3]
},
{
    "relate_id": 2
    "userid": [user2]
}
我可以使用一个
aggregate()
查询来搜索此结构吗?

是的,您需要使用聚合阶段,使用运算符来填充您的用户ID列表

db.collection.aggregate([
    {$group: {_id: "$relate_id", userid: {"$push": "$userid"}}},
]
)