gpt4 book ai didi

mongodb - 在 MongoDB 中查找数组中字段的总和

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

我有一个数据如下:

> db.PQRCorp.find().pretty()
{
"_id" : 0,
"name" : "Ancy",
"results" : [
{
"evaluation" : "term1",
"score" : 1.463179736705023
},
{
"evaluation" : "term2",
"score" : 11.78273309957772
},
{
"evaluation" : "term3",
"score" : 6.676176060654615
}
]
}
{
"_id" : 1,
"name" : "Mark",
"results" : [
{
"evaluation" : "term1",
"score" : 5.89772766299929
},
{
"evaluation" : "term2",
"score" : 12.7726680028769
},
{
"evaluation" : "term3",
"score" : 2.78092882672992
}
]
}
{
"_id" : 2,
"name" : "Jeff",
"results" : [
{
"evaluation" : "term1",
"score" : 36.78917882992872
},
{
"evaluation" : "term2",
"score" : 2.883687879200287
},
{
"evaluation" : "term3",
"score" : 9.882668212003763
}
]
}

我想要实现的是::找到失败的员工总数 (term1 + term2 + term3)

我正在做的和最终得到的是:

db.PQRCorp.aggregate([ 
{$unwind:"$results"},
{ $group: {_id: "$id",
'totalTermScore':{ $sum:"$results.score" }
}
}])

输出:{ “_id”:空,“totalTermScore”:90.92894831067625 }简单地说,我得到的是所有分数的总和的输出。 我想要的是,分别对不同员工的项 1、2 和 3 求和。

谁能帮帮我。我是 MongoDB 的新手(虽然很明显)。

最佳答案

你不需要在这里使用$unwind$group...一个简单的$project查询可以$sum 你的全部分数...

db.PQRCorp.aggregate([
{ "$project": {
"name": 1,
"totalTermScore": {
"$sum": "$results.score"
}
}}
])

关于mongodb - 在 MongoDB 中查找数组中字段的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50633348/

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