在我的应用程序中,我有以下文档。
我应如何返回按时间戳分组的 (进气-出气) 差值? 我正在尝试编写一个函数,使其返回以下结果:
{
"timestamp": ISODate("2015-09-17T21:14:35.0Z"),
"sensor": "gas-in",
"value": 2.5,
},
{
"timestamp": ISODate("2015-09-17T21:14:35.0Z"),
"sensor": "gas-out",
"value": 2.0,
},
{
"timestamp": ISODate("2015-09-17T21:20:35.0Z"),
"sensor": "gas-in",
"value": 6.3,
},
{
"timestamp": ISODate("2015-09-17T21:20:35.0Z"),
"sensor": "gas-out",
"value": 0.8,
}
我应如何返回按时间戳分组的 (进气-出气) 差值? 我正在尝试编写一个函数,使其返回以下结果:
{
"timestamp": ISODate("2015-09-17T21:14:35.0Z"),
"sensor": "gas-difference",
"value": 0.5, // is calculated by 2.5 - 2.0
},
{
"timestamp": ISODate("2015-09-17T21:20:35.0Z"),
"sensor": "gas-difference",
"value": 5.5, // is calculated by 6.3 - 0.8
},
我尝试使用聚合函数和$subtract操作符,阅读了其他SO问题,但它们似乎没有解决我的问题。 在其他问题中,他们似乎知道要从哪两个文档中进行减法计算,但在我的情况下,我不知道有多少个文档,并且$timestamp“列”是匹配两个文档的标识符。
有人能帮助我解决这个问题吗?谢谢!