MongoDB:如何计算按第一个字符分组并匹配第二个字段的集合中的字段计数?

时间:2016-03-28 07:13:29

标签: mongodb

按照这个问题的答案(https://stackoverflow.com/a/20817040/2656506),我能够根据它的第一个字符对该字段进行分组:

db.kits.aggregate({ $group: {_id: {$substr: ['$kit', 0, 1]}, count: {$sum: 1}}})

但我无法弄清楚如何在同一查询中另外只对那些符合_id: 'abc'等附加条件的文档进行分组。可以在一个查询中完成吗?

提前致谢!

1 个答案:

答案 0 :(得分:2)

$match管道阶段添加到您的聚合查询中:

db.kits.aggregate(
    [
        {
            $match: {
                _id: 'abc'
            }
        },
        {
            $group: {
                _id: {
                    $substr: ['$kit', 0, 1]
                },
                count: {$sum: 1}
            }
        }
    ]
)