MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Mongoose-Gruppenabfrage in node.js / express route

Die Gruppe Der Befehl wird von Mongoose nicht unterstützt und war in MongoDB 3.4 ebenfalls veraltet, da seine Funktionalität besser durch die Verwendung von aggregate stattdessen.

Sie können dies mit aggregate tun mit so etwas wie:

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

Sie können die Gesamtsumme weglassen und count Felder, wenn Sie sie nicht als $avg Betreiber lässt Sie den Durchschnittspreis direkt berechnen.