我对MongoDB和node.js比较陌生。下面是我尝试实现的目标:
我在MongoDB中有一个包含数千个文档的集合,这些文档如下所示:
{
"date": "2020-02-24",
"iso_code": "USA",
"country": "USA",
"avg_temperature": "25F",
},
{
"date": "2020-02-25",
"iso_code": "USA",
"country": "USA",
"avg_temperature": "27F",
},
{
"date": "2020-02-24",
"iso_code": "CHN",
"country": "China",
"avg_temperature": "10C",
}
我希望避免在node.js中运行代价高昂的计算,因此我希望接收按日期分组的温度,并检索avg_temperature的实际值(因此没有$min或$max计算)。
{
"date": "2020-02-24",
"avg_temperatures": {
"USA": "25F",
"China": "10C"
}
}
我的最终目标是创建一个图表,将多个国家的时间线上的数据可视化,我的想法是简单地迭代结果的内容,然后通过温度和显示数据。
如果有人以前做过类似的事情,请随时提出更好的替代方案:)
2条答案
按热度按时间5lhxktic1#
很明显,获得您所描述的结果会有点复杂。相反,您可以通过创建一个简单的聚合管道来实现
对于上面的管道,您将获得如下输出
希望这能解决你的问题!
ubbxdtey2#
您可以使用聚合框架来完成此操作:
Working example