【发布时间】:2019-03-30 01:28:02
【问题描述】:
我创建了一个时间输入系统,用户可以在其中输入在给定时间段之间花费在任务上的时间量(百分比)。每条记录如下所示。我将用户 _id 更改为显式名称,以使其更易于可视化
"project_name": "first_project",
"linked_project": "5bd057f5d4b8173d88b7fe47",
"percentage": 25,
"user": {
"$oid": "Steve"
},
"project_name": "first_project",
"linked_project": "5bd057f5d4b8173d88b7fe47",
"percentage": 50,
"user": {
"$oid": "Steve"
},
"project_name": "second_project",
"linked_project": "5bd057f5d4b8173d88b7fe48",
"percentage": 25,
"user": {
"$oid": "Steve"
},
"project_name": "second_project",
"linked_project": "5bd057f5d4b8173d88b7fe48",
"percentage": 75,
"user": {
"$oid": "Mary"
},
我尝试先按人分组,然后按项目分组。基本上,我想知道每个用户在特定任务上花费了多少。不确定我想要实现的目标是否可行。我在下面包含了我想要实现的目标:
示例输出:
[
{
user: Steve,
projects: [
first_project: 75,
second_project: 25
]
},
{
user: Mary,
projects: [
second_project: 75
]
}
]
我尝试了多种方法来实现这一目标,但都没有成功。希望有人对如何实现这一点有所了解。
【问题讨论】:
标签: mongodb mongoose aggregation-framework aggregate