【发布时间】:2022-02-07 19:27:15
【问题描述】:
[
{
_id: 1,
title: "Task 1",
assignedTo: ["userId1", "userId2", "userId3"]
status: "To do"
},
{
_id: 2,
title: "Task 2",
assignedTo: ["userId1", "userId2"],
status: "In progress"
},
{
_id: 3,
title: "Task 3",
assignedTo: ["userId3"],
status: "Completed"
}
]
我想使用 MongoDB 聚合来返回分配给用户的所有任务并按状态对它们进行分组。例如,输入是:userId: "userId1",预期的输出应该是这样的:
{
results: [
{
status: "To do",
tasks: [
{
_id: 1,
title: "Task 1",
assignedTo: ["userId1", "userId2", "userId3"]
}
]
},
{
status: "In progress",
tasks: [
{
_id: 2,
title: "Task 2",
assignedTo: ["userId1", "userId2"]
}
]
},
{
status: "Completed",
tasks: []
},
]
}
【问题讨论】: