group
командата не се поддържа от Mongoose и също беше отхвърлена в MongoDB 3.4, тъй като нейната функционалност се обслужва по-добре чрез използване на aggregate
вместо това.
Можете да направите това с aggregate
използвайки нещо като:
model.Av.aggregate([
{$match: {dateOfDay: {$gte: new Date('12/01/2014'), $lt:new Date('12/30/2014')}}},
{$group: {
_id: '$roomId',
total: {$sum: '$price'},
count: {$sum: 1},
avg: {$avg: '$price'}
}}
], function (err, result) {...});
Можете да пропуснете total
и count
полета, ако не се нуждаете от тях като $avg
ви позволява директно да изчислите средната цена.