sql >> Database >  >> NoSQL >> MongoDB

Mongoose-groepsquery in node.js / express route

De group commando wordt niet ondersteund door Mongoose en is ook verouderd in MongoDB 3.4 omdat de functionaliteit beter wordt bediend door aggregate in plaats daarvan.

U kunt dit doen met aggregate met zoiets als:

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

U kunt het total weglaten en count velden als u ze niet nodig hebt, zoals de $avg operator laat je de gemiddelde prijs direct berekenen.




  1. Sorteren op maximaal matrixveld, oplopend of aflopend

  2. MongoDB en Mongoid in productie

  3. Mongodb - zijn betrouwbaarheidsproblemen nog steeds belangrijk?

  4. Hoe redis-server draaiende te houden?