sql >> Databáze >  >> NoSQL >> MongoDB

Jak vypočítám vážený průměr v mongoDB pomocí agregačního rámce?

K tomu byste měli nejprve vypočítat čitatel (vážený součet) a jmenovatel (součet vah) výsledného poměru. Poté budete muset pouze rozdělit jeden po druhém:

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" ] }
  }
})

Další informace naleznete v dokumentaci agregačního kanálu .




  1. nenalezl hostitele odpovídající předvolbám čtení v mongodb

  2. Nechte nový ClusterControl zabezpečit vaše nasazení MongoDB

  3. Případ hashovaných indexů MongoDB

  4. Import velmi velké sady záznamů do MongoDB pomocí nodejs