我需要在集合A上构建聚合。 一些字段将聚合最多5分钟匹配,其他字段最多匹配1小时。 如果我在管道中添加步骤以匹配5分钟,那么我不能有1小时来计算另一组。 我如何在同一个查询中做到这一点,这样我就可以在一个plcace中构建所有结果。
提前致谢...
答案 0 :(得分:1)
将所有结果都集中在一个地方
可以这样做,但它相当复杂。使用两个聚合来执行此操作要容易得多,这两个聚合都将结果输出到新集合中以保存这些结果。然后,您仍然可以在没有复杂查询的情况下将结果放在一个位置。
如果你真的想用一个查询来做,那么你可以这样做:
这导致的文件分别代表一小时,并有一个数组代表该小时内十二五分钟时段的数据。
您需要记住的一件事是,有些事情,比如平均值,应该在完成聚合后计算。您最后可以使用额外的$project
来执行此操作。