首页 > 解决方案 > MongoDB,在组计数之后再做一次计数

问题描述

我对 mongodb 有点陌生。我做了一个查询来计算具有相同父母(parentid)的孩子,查询如下所示:

db.Child.aggregate([ { "$group" : { _id:"$parent", count1: { $sum:1 } } } ]) 结果如下所示: 在此处输入图像描述

count1我需要做的下一步是计算上面字段中有多少个 1、2、3 等。是否有可能做另一个这样的计数?

标签: mongodb

解决方案


如果您要做的只是获取值的总数count1,则可以添加另一个$group和另一个累加器,如下所示:

db.Child.aggregate([
    { $group: {
        _id: "$parent",
        count1: { $sum: 1 }
    }},
    { $group: {
        _id: "$count1",
        count2: { $sum: 1 }
    }}
])

推荐阅读