Mongodb 计算字段的值数

Mongodb 计算字段的值数,mongodb,mongodb-query,aggregation-framework,Mongodb,Mongodb Query,Aggregation Framework,我的数据库中有以下结构: _id: Dave { total_cars: 2 total_bmw: // Should be 1 total_vw: // Should be 1 cars: [{ model: "BMW" }, { model: "VW" }] } 因此,基本上我需要计算某个值在“model”字段中的频率,并需要将它们放入一个新字段“total_bmw”中,例如。我现在计算“model”的

我的数据库中有以下结构:

_id: Dave {
    total_cars: 2
    total_bmw: // Should be 1
    total_vw: // Should be 1
    cars: [{
        model: "BMW"
    },
    {
        model: "VW"
    }]
}
因此,基本上我需要计算某个值在“model”字段中的频率,并需要将它们放入一个新字段“total_bmw”中,例如。我现在计算“model”的值,我需要提前计算,因为只有2个


我的问题是如何通过mongoDB查询实现这一点。如何计算某个字段具有特定值的次数?

我认为,通过预先计算这些字段(添加/更改/删除汽车时更新其值),使用$group按field值分组,并使用$sum计算发生次数,您会得到更好的结果(在性能和代码复杂度方面)