gpt4 book ai didi

c# - 文档中的 MongoDB 求和值

转载 作者:可可西里 更新时间:2023-11-01 10:45:15 25 4
gpt4 key购买 nike

我正在使用 MongoDB 和 C# 开发一个应用程序。我使用 MongoDB 驱动程序。

{
_id: ObjectId("5099803df3f4948bd2f98391"),
Title: "Test",
Rating: {
1234 : 4.0,
4689 : 2.5,
1987 : 1.5
}
}

现在我想获得平均评分。所以 (4.0+2.5+1.5)/3。但是我如何使用 MongoDB 和 C# 驱动程序执行此操作。我试着放松一下,然后数数。但它不起作用。

最佳答案

您可以使用$objectToArray(来自mongo version 3.4.4)将对象转换为数组并计算$avg

db.t71.aggregate([
{$addFields : {data : {$objectToArray : "$Rating"}}},
{$addFields : {avg : {$avg : "$data.v"}}}
]).pretty()

聚合

> db.t71.aggregate([{$addFields : {data : {$objectToArray : "$Rating"}}}, {$addFields : {avg : {$avg : "$data.v"}}}]).pretty()
{
"_id" : 1,
"Title" : "Test",
"Rating" : {
"1234" : 4,
"1987" : 1.5,
"4689" : 2.5
},
"data" : [
{
"k" : "1234",
"v" : 4
},
{
"k" : "1987",
"v" : 1.5
},
{
"k" : "4689",
"v" : 2.5
}
],
"avg" : 2.6666666666666665
}

关于c# - 文档中的 MongoDB 求和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54451550/

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