Я хочу агрегировать следующие данные
{
"user": "user1",
"error": true
}
{
"user": "user2",
"error": false
}
{
"user": "user1",
"error": false
}
В
{
"_id": "user1",
"errorCount": 1,
"totalCount": 2
},
{
"_id": "user2",
"errorCount": 0,
"totalCount": 1
}
С оператором $cond этого можно добиться, используя:
$group: {
_id: "$user",
errorCount : { "$sum" : {"$cond" : ["$error", 1, 0]}},
totalCount : { "$sum" : 1 }
}
Однако, поскольку я использую Spring-data-mongodb, который еще не поддерживает $cond (начиная с 1.3.4-RELEASE), я не мог этого сделать.
Есть ли способ сделать ту же агрегацию без $cond?