【发布时间】:2021-11-05 13:13:48
【问题描述】:
示例数据包(每 5 秒存储一次):
{
_id : "74uy4bf71880088hre",
date : 2021-05-07T03:54:27.318+00:00,
deviceId : "12345t6",
temperature:21,
}
我在 MongoDB 的这个数据包格式中有最近几个月的数据,我想创建一个聚合管道来检索每小时、每天(11 月 3 日至 10 月 3 日)、每周(过去 7 周)、每月的数据。
请任何人知道如何编写它。提前致谢。
额外信息可以询问。
除了聚合框架有任何其他建议。
每小时的预期产出:
[
{
"dataType": "Temperature",
"deviceID": "12345t6",
"timing": "Hourly",
"temperature": 0,
"date": "2021-11-02T23:30:00.000Z",
"hours": 1,
},
{
"dataType": "Temperature",
"deviceID": "12345t6",
"timing": "Hourly",
"temperature": 0,
"date": "2021-11-03T00:00:00.000Z",
"hours": 2,
},
.......hours:24
]
这里的“小时”:1 表示下午 0-1 点,而“小时”:2 表示下午 1-2 点,依此类推。
【问题讨论】:
-
你能分享你的预期输出吗?通常,您的测试用例将是按不同间隔分组的计数,这适合您的用例吗?
-
温度应该存储为数字,而不是字符串。
标签: node.js mongodb aggregation-framework