我有一些文档的结构是这样的:
{
"_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()
查询来搜索这个结构吗?
是的,您需要使用组聚合阶段,使用push操作符来填充userid
列表db.collection.aggregate([
{$group: {_id: "$relate_id", userid: {"$push": "$userid"}}},
]
)