gpt4 book ai didi

python - MongoDB 聚合 - $lookup + $unwind 之后的 $group

转载 作者:行者123 更新时间:2023-12-01 01:02:30 30 4
gpt4 key购买 nike

所以我对聚合框架很陌生。我有 2 个包含这些文档的集合:

用户

{
'_id': ObjectId(user1),
'name': 'Name1',
'event': ObjectId(event1)
},
{
'_id': ObjectId(user2),
'name': 'Name2',
'event': ObjectId(event2)
},
{
'_id': ObjectId(user3),
'name': 'Name3',
'event': ObjectId(event1)
}

事件

{
'_id': ObjectId(event1),
'name': 'Event2',
'type': 'Party'
},
{
'_id': ObjectId(event2),
'name': 'Event2',
'type': 'Meeting'
}

预期输出

[
{
'_id': ObjectId(user1),
'name': 'Name1',
'event': 'Party'
},
{
'_id': ObjectId(user2),
'name': 'Name2',
'event': 'Meeting'
},
{
'_id': ObjectId(user3),
'name': 'Name3',
'event': 'Party'
}

]

正如您所看到的,根据上面的解释,我想对用户进行分组,并根据用户参加的事件返回用户。

到目前为止我所做的(聚合用户)

[
{
"$lookup":
{
"from": "events",
"localField": "event",
"foreignField": "_id",
"as": "Events"
}
},
{
"$unwind": "$Events"
},
{
"$group":
{
"_id":
{
"type": "$Events.type"
}
}
}
]

我只获取事件文档。输出为:

{ 'type':'Party'},
{'type': 'Meeting'}

Can someone please guide me as to how you can group documents in collection by a field from a document in another collection?

谢谢!

最佳答案

以下文档可以帮助您解决问题。请引用文档-->ref.Document

关于python - MongoDB 聚合 - $lookup + $unwind 之后的 $group,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55663515/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com