MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да изчисля претеглена средна стойност в mongoDB с помощта на рамка за агрегиране?

За да направите това, първо трябва да изчислите числител (претеглена сума) и знаменател (сума от тегла) на полученото съотношение. След това ще трябва само да разделите едно по друго:

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

За повече информация вижте документация за Aggregation Pipeline .




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Създадени от MongoDB файлове

  2. Премахване на елемента на масива в mongoDB въз основа на позицията на елемента

  3. MongoJS не връща данни при търсене с регулярни изрази

  4. Грешка при заявка за поддокументи на Mongodb Преобразуване на кръгова структура в JSON

  5. Как да напиша функция-y, приемаща параметър-fct_x, който има достъп до var-a, който трябва да бъде дефиниран във функция-y?