Совокупность мангустов за диапазон дат

Я пытаюсь агрегировать мангуста. Я хочу получить общую сумму поля в диапазоне дат. http://mongoosejs.com/docs/api.html#model_Model.aggregate

mymodel.aggregate({$match:{date:{$gte: fromDate, $lt: toDate}}},
                  {$project:{_id:0,date:1, count:1}},
                  {$group:{'_id':0,count:"$count"}}).exec(function(err,data){
        if(err){
            console.log('Error Fetching model');
            console.log(err);
        }
        callback(false, data);
});

Это не работает.

{ [MongoError: exception: the group aggregate field 'count' must be defined as an expression inside an object]
   name: 'MongoError',
   errmsg: 'exception: the group aggregate field \'count\' must be defined as an expression inside an object',
   code: 15951,
   ok: 0 }

Есть идеи?


person Neo    schedule 10.01.2014    source источник


Ответы (1)


Этот синтаксис неверен:

{$group:{'_id':0,count:"$count"}}

$count не является оператором в приведенном выше, а просто ссылкой на поле. Вы не можете иметь «голые» ссылки на поля в $group. Вам нужно использовать оператор агрегации, например:

{$group:{'_id':0,count:{"$sum": "$count"}}}

Пожалуйста, покажите несколько образцов документов, и я могу обновить ответ более подробно.

person Derick    schedule 10.01.2014