У меня есть запрос в mongodb с фреймворком агрегации, который возвращает количество тем в моих документах. Это делается с помощью оператора $ group, и результат выглядит так:
{
postsByTopics: [
{
"_id" : "Topic 1",
"count" : 3.0
},
{
"_id" : "Topic 2",
"count" : 1.0
}
]
}
Я использую проекцию, чтобы получить более точные результаты
{
"$project": {
"postsByTopics": {
"$arrayToObject": {
"$map": {
"input": "$postsByTopics",
"as": "el",
"in": {
"k": "$$el._id",
"v": "$$el.count",
}
}
}
},
}
, который возвращает гораздо более красивый результат:
{
postsByTopics: {
"Topic1" : 3.0,
"Topic2" : 1.0
}
}
Теперь я хотел бы превратить эту проекцию в код загрузки java spring. Я нашел project().and(ArrayOperators.ArrayToObject.arrayToObject("postsByTopics"))
и
project().and(VariableOperators.Map.itemsOf("postsByTopics").as("el")
, но я изо всех сил пытаюсь объединить их для достижения желаемого результата