【发布时间】:2014-02-25 17:15:36
【问题描述】:
我希望汇总以下数据
{
"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 的情况下进行相同的聚合?
【问题讨论】:
标签: mongodb aggregation-framework spring-data-mongodb