Предположим, у меня есть несколько документов, таких как
{
"_id" : ObjectId("5ecce1f9cb4a5d097c9061c8"),
"job_id" : 1,
"score" : 2
},
{
"_id" : ObjectId("5ecce200cb4a5d097c9061cb"),
"job_id" : 1,
"score" : 1
},
{
"_id" : ObjectId("5ecce206cb4a5d097c9061ce"),
"job_id" : 1,
"score" : 2
},
{
"_id" : ObjectId("5ecce210cb4a5d097c9061d3"),
"job_id" : 1,
"score" : 0
},
{
"_id" : ObjectId("5ecce21acb4a5d097c9061d6"),
"job_id" : 2,
"score" : 2
},
{
"_id" : ObjectId("5ecce224cb4a5d097c9061df"),
"job_id" : 2,
"score" : 0
},
{
"_id" : ObjectId("5ecce230cb4a5d097c9061e2"),
"job_id" : 2,
"score" : 0
},
{
"_id" : ObjectId("5ecce239cb4a5d097c9061e5"),
"job_id" : 2,
"score" : 0
}
Как мне сгруппировать их в соответствии с их job_id и получить агрегированный результат с наличием оценок? Примерно так:
{
"job_id": 1,
"result": {
0:1,
1:1,
2:2
}
},
{
"job_id": 2,
"result": {
0:3,
2:1
}
}
Поскольку в job_id 2, O встречается 3 раза, а 2 - 1 раз, отсюда и этот результат.
Я пробовал много разных методов и пытался выполнить группировку, но это не помогло не помогло.