sql >> Base de Datos >  >> NoSQL >> MongoDB

Consulta de grupo Mongoose en node.js / ruta express

El group El comando no es compatible con Mongoose, y también quedó obsoleto en MongoDB 3.4, ya que su funcionalidad se atiende mejor al usar aggregate en su lugar.

Puedes hacer esto con aggregate usando algo como:

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) {...});

Puede omitir el total y count campos si no los necesita como $avg operador te permite calcular el precio medio directamente.