[
{
_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"
}
]
I want to use MongoDB aggregate to return all the tasks assigned to a user and group them by status. For example, the input is: userId: "userId1" , and the expected output should be something like this:
{
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: []
},
]
}