Mongoose GroupBy查询

时间:2015-07-19 12:25:33

标签: mongoose

My Mongo系列目前如下所示:

[ {model: 'audi' ,    rent-date: '05-15-15'  },
{model: 'ford' ,      rent-date: '06-15-15' },
{model: 'nissan' ,    rent-date: '05-15-15' },
{model: 'toyota' ,     rent-date: '05-15-15'  },
{model: 'audi' , rent-date: '05-15-15'  },
{model: 'audi' , rent-date: '05-15-15'  },
{model: 'nissan' , rent-date: '05-15-15'  },
...
...
    ]

我正在使用mongoose进行查询。

目标是获得类似于下面的结果

{ 'model' : 'audi', count: '20'
  'model: : 'nissan' , count: '30'
..
 }

,即计算特定模型在集合中出现的次数。

到目前为止,我有:

var query = Model.aggregate.group({_id: 'model'}, count: {$sum: 1});

query.exec();

但上述方法不起作用。

2 个答案:

答案 0 :(得分:1)

   test.aggregate(
       [
          {
            $group: model,
               count: { $sum: 1 }
            }
          }
       ]
    )

答案 1 :(得分:1)

以下查询对我有用:

Model.aggregate([
{
  $group: {
      _id: '$model', // model is the name of the field.. but we have to use $model
       count: {$sum : 1}
  }
}
])