Để nhận được số tiền và 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.