首页 > 解决方案 > 使用 WHERE 条件计数

问题描述

我有以下 T-SQL 查询:

SELECT year, COUNT(*) FROM publis
WHERE publisher LIKE '%Springer%'

我做了这个查询:

db.publis.aggregate([{"$group" : {_id:"$year", count:{$sum:1}}}])

如何包含 WHERE 条件?

标签: mongodbmongodb-query

解决方案


SQL 的等价物WHERE$match聚合阶段,因此您可以像这样重写查询:

db.publis.aggregate([
    {
        $match: {
            publisher: /Springer/,
        },
    },
    {
        $group: {
            _id: '$year',
            count: { $sum: 1 },
        },
    },
]);

推荐阅读