У меня есть следующие данные:
> 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": null, "totalTermScore": 90.92894831067625} Просто я получаю вывод флетасумма всех баллов. Что я хочу, так это суммировать условия 1, 2 и 3 отдельно для отдельных сотрудников.
Пожалуйста, кто-нибудь может мне помочь.Я новичок в MongoDB (хотя вполне очевидно).