sql >> Databasteknik >  >> NoSQL >> MongoDB

Mongoose-gruppfråga i node.js / express route

gruppen kommandot stöds inte av Mongoose, och föråldrades också i MongoDB 3.4 eftersom dess funktionalitet tjänas bättre genom att använda aggregate istället.

Du kan göra detta med aggregate använder något som:

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

Du kan utelämna totalt och count fält om du inte behöver dem som $avg operatören låter dig beräkna det genomsnittliga priset direkt.




  1. Hur utför man en massuppdatering av dokument i MongoDB med Java?

  2. findOne Subdocument in Mongoose

  3. Hur man använder Memcached With Yii2 Framework

  4. bson.D vs bson.M för sökfrågor