MongoDB聚合指定标准?

时间:2014-12-21 10:40:11

标签: node.js mongodb mongoose

我正在使用mongodb aggregate在我的节点服务器上获取已经过滤的数据。

Some.aggregate([
    { $group: {
        _id: '$model',
        someAvg: { $avg: '$some' },
        someAvg2: { $avg: '$some2' },
        someSum3: { $sum: '$some3' }
    }}
], function (err, results) {
    ...

但所有这一切都会返回没有重复的模型,并平均some, some2, some3这些模型。当您使用find时,您可以指定类似的内容:

Some.find({model:"Thinkpad T430"}, function(...

因此,它仅返回model值为"Thinkpad T430"的数据销售。

有没有办法与aggregate做类似的事情?

1 个答案:

答案 0 :(得分:1)

Some.aggregate([
    { $match : { 
        model:"Thinkpad T430"
    }},
    { $group: {
        _id: '$model',
        someAvg: { $avg: '$some' },
        someAvg2: { $avg: '$some2' },
        someSum3: { $sum: '$some3' }
    }}
], function (err, results) {
    ...