是否可以统计mongodb中有多少个字段等于null?
我不是在询问集合中某个字段(具有具体名称)有多少次为 null,而是在询问文档中有多少个字段(通配符名称)等于 null。我想要获取的是整个集合中等于 null 的字段的平均数量。
最佳答案
您可以在 3.4 中尝试以下聚合
$objectToArray
返回文档中的所有键和值对,然后使用 $unwind
将每个文档展平为多个文档,每个文档都带有键值对和 $group
在整个集合中检查所有字段值是否为 null,并使用 $sum
来累加值。
$cond
查询条件为 null 时输出 1,否则为 0。$$ROOT
访问整个文档。
db.col.aggregate([
{"$project":{
"arrayofkeyvalue":{"$objectToArray":"$$ROOT"}
}},
{"$unwind":"$arrayofkeyvalue"},
{"$group":{
"_id":null,
"count":{"$sum":{"$cond":[{"$eq":["$arrayofkeyvalue.v",null]},1,0]}}
}}
])
关于mongodb - 统计mongodb中空字段的个数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48210236/