gpt4 book ai didi

mongodb - Mongodb平均聚合查询不带组

转载 作者:IT老高 更新时间:2023-10-28 13:14:25 25 4
gpt4 key购买 nike

我正在尝试使用 Mongo 中的聚合框架获取整个字段的平均值。但是,我似乎找不到任何在没有组参数的情况下使用它的示例。

我的文档结构如下:

 {
"_id" : ObjectId("5352703b61d2739b2ea44e4d"),
"Semana" : "2014-02-23 - 2014-03-01",
"bolsaDeValores" : "7",
"bvc" : "8",
"dollar" : "76",
"ecopetrol" : "51",
"dollarPrice" : "18"
}

基本上我想要做的是以最快的方式获取整个集合的 bvc 字段和任何其他数字字段的平均值(不使用 MapReduce,因为它的效率低于聚合框架)。

我也尝试在大于零的基础上进行分组,但无济于事:

db.EvaluatedSentiments.aggregate([
{ "$group": {
"bvc" : {"$gt:0"}
},
{
"bvc" : { "$avg" : "$bvc"}
}
}
])

感谢您提供的任何帮助。

引用:Mongo aggregation manual

最佳答案

首先将数值存储为数字。之后你可以使用一个简单的语句来计算平均值:

db.collection.aggregate([{ 
"$group": {
"_id": null,
"avg_bvc": { "$avg": "$bvc" }
}
}])

您可以简单地使用更多 $avg 聚合运算符来获取其他数值字段的平均值:

db.collection.aggregate([{ 
"$group": {
"_id": null,
"avg_bvc": { "$avg": "$bvc" },
"avg_dollar": { "$avg": "$dollar" }
}
}])

关于mongodb - Mongodb平均聚合查询不带组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23323515/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com