sql >> Database teknologi >  >> NoSQL >> MongoDB

Hvordan beregner jeg et vægtet gennemsnit i mongoDB ved hjælp af aggregeringsramme?

For at gøre det skal du først beregne tæller (vægtet sum) og nævner (sum af vægte) af det resulterende forhold. Derefter behøver du kun at dividere den ene med den anden:

db.collection.aggregate({
  $group : {
     _id : 'weighted average', // build any group key ypo need
     numerator: { $sum: { $multiply: [ "$price", "$quantity" ] } },
     denominator: { $sum: "$quantity" }
  }
}, {
  $project: {
    average: { $divide: [ "$numerator", "$denominator" ] }
  }
})

For mere information se Aggregation Pipeline dokumentation .




  1. hvordan man opretter mongoDB objectid i java

  2. hvordan forbinder man mongoDB til serveren?

  3. Min $or-vælger i et databasetrigger-match-udtryk virker ikke på andet niveau af indlejring, når jeg konfigurerer en databasetrigger

  4. MongoDB + nodejs:hvordan forespørger man ISODate-felter?