如何计算mongodb中对象数组中case中的每个true元素



我想在每个情况的状态字段中获得满足真实条件的项目数。例如:文档

输出:

{“user_id”: “4-389-739”,“case1”:0,“case2”:3,“case3”:1,“case4”:1 } 

用户id部分不确定您在文档中的位置,我相信您可以弄清楚,但为了帮助您计算案例,这可能会帮助您

{
$group: {

"case1": {
$sum: {
$cond: [{ $in: [true, "$case1.status"] }, 1, 0]
}
},
"case2": {
$sum: {
$cond: [{ $in: [true, "$case2.status"] }, 1, 0]
}
}
}
}
you can generalize here and add as many conditioin as possible

最新更新