我的收藏就像
{ queid:"1', date:'07/24/2013', resolved:'true' }
我希望获得像
这样的计数{date:'07/24/2013',countquestion:10,resolved:5}
{date:'07/23/2013',countquestion:5,resolved:2}
目前我正在使用
计算问题数量que.aggregate({$group:"$date",count{$sum:1}})
并使用
解决que.aggregate({$match:{resolved:true}},{$group:"$date",count{$sum:1}})
在java程序中结合两者。有没有更好的方法来执行此查询并结合结果。
答案 0 :(得分:1)
您可以使用$cond
运算符实现此目的。只需注意resolved
字段,它应该是一个布尔值。
{
"$group": {
"_id": "$date",
"countquestion": {
"$sum": 1
},
"resolved": {
"$sum": {
"$cond": [ "$resolved", 1, 0 ]
}
}
}
}