我有一个数组变量var arrays=[];
在该arrays
变量中,values
是一个数组
arrays = [
{
_id: 1,
values: [
{ checked: true },
{ checked: false },
{ checked: true }
]
}
]
我想获取arrays
变量中checked变量为true的计数:
db.getCollection('details').aggregate([
{ "$unwind": "$arrays" },
{ "$group": {
"_id": {
"istrue": {"$arrays.values"}
},
"count": { "$sum": 1 }
}
}
])
我尝试过,但是没用
答案 0 :(得分:0)
汇总的第一部分是确定,如果要计算每个检查状态,则需要按“值”重新展开。
db.getCollection('details').aggregate([
{ "$unwind": "$arrays" },
{ "$unwind": "$arrays.values" }, //add this line to make sure you consider every occurences
{ "$group": {
"_id": {
"istrue": {"$arrays.values"}
},
"count": { "$sum": 1 }
}
}
])