如何获取数组的平均值并对MongoDB中的结果进行四舍五入
Posted
技术标签:
【中文标题】如何获取数组的平均值并对MongoDB中的结果进行四舍五入【英文标题】:How to get the average of an array and round the result in MongoDB 【发布时间】:2022-01-21 17:33:56 【问题描述】:我想将平均结果四舍五入到小数点后 2 位,但我的代码不起作用,我找不到任何解决方法。
db.customers.aggregate([
$group:
_id: "$customer.gender",
"average age":
$avg:
$round: [
"$customer.age",
2
]
])
【问题讨论】:
为清楚起见,您能否编辑您的问题并添加示例输入文档和您寻求的输出形状? 是的,我会看看如何优化问题 【参考方案1】:年龄没有小数位,所以我想您想在分组后对平均值进行四舍五入,如下所示,使用阶段运算符 $set
添加新字段。 ($set
=$addFields
)
db.customers.aggregate([
$group:
_id: "$customer.gender",
"average age":
$avg: "$customer.age"
,
"$set":
"average age":
"$round": [
"$average age",
2
]
])
【讨论】:
现在可以使用了,非常感谢。以上是关于如何获取数组的平均值并对MongoDB中的结果进行四舍五入的主要内容,如果未能解决你的问题,请参考以下文章