【发布时间】:2021-09-03 01:14:57
【问题描述】:
我在 MongoDB 数据库中有多个集合:
users: [{
id: "name1",
groups: ["group1"]
}, {
id: "name2",
groups: ["group2"]
}]
groups: [{
id: "group1",
name: "first group"
}, {
id: "group2",
name: "second group"
}, {
id: "group3",
name: "third group"
}]
我想从groups 集合中获取所有记录,但还想在响应中的每条记录中添加一个assignedTo 字段,其中包含属于该组的用户ID 列表:
[{
id: "group1",
name: "first group",
assignedTo: ["user1"]
}, {
id: "group2",
name: "second group"
assignedTo: ["user2"]
}, {
id: "group3",
name: "third group"
assignedTo: []
}]
如何使用聚合框架来做到这一点?谢谢
附:一个组可能没有分配用户,但它仍然需要在响应中显示为
[
...
{
id: "group3",
name: "third group",
assignedTo: [] # empty array
}]
【问题讨论】:
-
users 是用户的集合,还是用户项是数组?
-
Users 是一个单独的集合以及组,每个用户都有一个其所属组的列表
标签: mongodb aggregation-framework