MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Requête de groupe Mongoose dans node.js / route express

Le group La commande n'est pas prise en charge par Mongoose et a également été obsolète dans MongoDB 3.4 car sa fonctionnalité est mieux servie en utilisant aggregate à la place.

Vous pouvez le faire avec aggregate en utilisant quelque chose comme :

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

Vous pouvez omettre le total et count champs si vous n'en avez pas besoin comme $avg vous permet de calculer directement le prix moyen.