是否可以从集合中的单个查询中检索与字段名称相关的字段总数?
我期待这样的结果
{
"field_1":101,
"field_2":93,
"field_3":1
}
是的。
操场
db.collection.aggregate({
$group: {
_id: null,
field_2: {
$push: {
$cond: [
"$field_2",
1,
0
]
}
},
field_1: {
$push: {
$cond: [
"$field_1",
1,
0
]
}
}
}
},
{
$project: {
_id:0,
field_1: {
$sum: "$field_1"
},
field_2: {
$sum: "$field_2"
}
}
})
注意:
当为true时,$exists匹配包含该字段的文档,包括字段值为null的文档