【发布时间】:2022-06-27 20:18:08
【问题描述】:
Q1. 我需要按创建日期和 driverId 过滤数据,然后需要按小时、每周、每月和每年汇总总数。我已经检查过其他解决方案,但没有太大帮助。
样本数据:
[
{
id: "1",
created : "2022-01-04T03:22:18.739Z",
completed: "2022-01-06T03:53:28.463Z",
driverId: "B-72653",
total: 15,
},
{
id: "2",
created : "2022-01-01T03:22:18.739Z",
completed: "2022-01-02T03:53:28.463Z",
driverId: "B-72653",
total: 33
},
{
id: "3",
created : "2021-08-26T01:22:18.739Z",
completed: "2021-08-26T09:53:28.463Z",
driverId: "B-72653",
total: 43
},
{
id: "4",
created : "2021-03-26T02:22:18.739Z",
completed: "2021-03-26T07:53:28.463Z",
driverId: "B-73123",
total: 35
},
]
需要回复:
{
Hourly:[10,5,5,6,7,8,4,5,6,3,44,2,1,2,3,44,5,6,75,4,3,2,1], // 24 Hours (Each Hour Total)
Weekly:[10,30,34,45,56,67,78], // 7 days (Each Day Total)
Monthly:[10,30,34,45,56,67,78,55,44,33,22,12], // 12 Months (Each Month Total)
Yearly: [10,30] // Year Total (Each Year Total)
}
【问题讨论】:
-
是this 你在找什么?您的预期输出与您的样本数据不匹配,因此无法验证。
-
你能解释一下你是如何从输入到输出的吗?不是 mongodb,而是如何在字段上执行操作?
-
@ray 谢谢!!这正是我所需要的。是否可以在每个总数中添加月份,例如每周:[{1:10},{2:32}] 等,因为如果我们使用数组索引,那么如果数组中缺少任何月份,它可能会给出错误的月份信息?
-
问题的更新似乎是一个更适合新问题的板问题。请帮助提出一个新问题,以保持当前问题的重点。另外,1.不要将代码/数据粘贴为图像2.在新问题中添加预期的输出和解释
标签: mongodb mongodb-query aggregation-framework