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

MongoDB $ sum và $ avg tài liệu phụ

Để nhận được số tiền trung bình của Channels.Value cho mỗi tài liệu trong bộ sưu tập của bạn, bạn sẽ cần sử dụng xử lý Tổng hợp của mongodb. Hơn nữa, vì Channels là một mảng, bạn sẽ cần sử dụng toán tử $ unwind để giải cấu trúc mảng.

Giả sử rằng bộ sưu tập của bạn được gọi là example , đây là cách bạn có thể nhận được cả tổng tài liệu và trung bình của Channels.Value s:

db.example.aggregate( [ 
    { 
        "$unwind" : "$Channels"
    }, 
    {
        "$group" : {
            "_id" : "$_id",
            "documentSum" : { "$sum" : "$Channels.Value" },
            "documentAvg" : { "$avg" : "$Channels.Value" }
         }
    }
] )

Kết quả từ dữ liệu bài đăng của bạn sẽ là:

{ 
    "_id" : SomeObjectIdValue,
    "documentSum" : 76,
    "documentAvg" : 25.333333333333332
}

Nếu bạn có nhiều tài liệu trong bộ sưu tập của mình thì bạn sẽ thấy một hàng kết quả cho mỗi tài liệu chứa Channels mảng.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongodb.conf bind_ip =127.0.0.1 không hoạt động nhưng 0.0.0.0 hoạt động

  2. MongoDB khác biệt giữa NumberLong và số nguyên đơn giản?

  3. Có cách nào để khôi phục các tài liệu đã xóa gần đây trong MongoDB không?

  4. Làm thế nào để bắt đầu một trình bao mongodb trong vùng chứa docker?

  5. Tổng quan về Công cụ lưu trữ WiredTiger cho MongoDB