MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Làm cách nào để tính giá trị trung bình có trọng số trong mongoDB bằng cách sử dụng khung tổng hợp?

Để làm như vậy, trước tiên bạn nên tính tử số (tổng có trọng số) và mẫu số (tổng các trọng số) của tỷ lệ kết quả. Sau đó, bạn sẽ chỉ cần chia từng cái một:

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

Để biết thêm thông tin, hãy xem tài liệu Đường ống tổng hợp .




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Spring MongoTemplate - tìm bằng regex trong bộ sưu tập

  2. viết cú pháp mongoDB

  3. Làm thế nào để lấy đối tượng Node khi sử dụng Neo4j jdbc?

  4. Không thể kết nối với MongoDB Atlas bằng Mongoose với chuỗi kết nối

  5. MongoDB cập nhật tài liệu khi đã tồn tại với ReactiveMongo