【发布时间】:2021-10-24 09:52:37
【问题描述】:
输入文件
"data": {
"2021-05-05": {
"12": 2.1,
"15": 0.2,
"06": 2.6,
"09": 2.2
},
"2021-05-06": {
"12": 2.1,
"15": 0.2,
"06": 2,
"09": 1.7
}
}
中间步骤数据objects 将与键连接并按时间排序。
"data": {
"2021-05-05": {
"2021-05-05T06:00:00:0Z": 2.6,
"2021-05-05T09:00:00:0Z": 2.2,
"2021-05-05T12:00:00:0Z": 2.1,
"2021-05-05T15:00:00:0Z": 0.2
},
"2021-05-06": {
"2021-05-06T12:00:00:0Z": 2.1,
}
}
排序后。下一步将是。 Subtract 从value_last - value_first 相对于时间。
输出文档
Document 1
{
"data": {
"time_first" : "2021-05-05T06:00:00:0Z",
"value_first": 2.6,
"time_last": "2021-05-05T15:00:00:0Z"
"value_last": "0.2",
"difference_value_last-value_first" : -0.4
}
Document 2 如果只包含一个值,则上个月的value_last成为下一个文档的value_first 。
"data": {
"time_first" : "2021-05-05T15:00:00:0Z",
"value_first": 0.2,
"time_last": "2021-05-06T12:00:00:0Z",
"value_last": : 2.1 ,
"difference_value_last-value_first" : 1.9
}
【问题讨论】:
标签: arrays mongodb mongoose mongodb-query aggregation-framework