Phân tích giao dịch theo loại trong collection transactions.
Lưu ý cấu trúc dữ liệu: mỗi document là một "bucket" của một tài khoản, chứa mảng transactions; mỗi phần tử của mảng này là một giao dịch (có các trường date, amount, transaction_code, symbol, price, total). Các trường transaction_code, amount nằm bên trong từng phần tử mảng — gợi ý: dùng $unwind.
Yêu cầu:
• Chỉ xét giao dịch có transaction_code tồn tại
• Gom nhóm theo transaction_code (giá trị nhóm nằm ở _id)
• Tính giá trị giao dịch (amount) trung bình, đặt tên trường kết quả là avgAmount và làm tròn 2 chữ số thập phân ($round)
• Sắp xếp theo avgAmount giảm dần
Không cần lệnh use. Chương trình chỉ được in kết quả của một câu aggregate.
Collection transactions (dữ liệu mẫu sample_analytics.transactions) đã được nạp sẵn.
Kết quả của câu aggregate theo định dạng mongosh: một mảng document dạng { _id: <transaction_code>, avgAmount: <trung bình amount, làm tròn 2 chữ số> }, mỗi loại giao dịch một document, ví dụ:
[
{ _id: '...', avgAmount: 1234.56 },
...
]
Ví dụ:
Đầu vào:
sample_analytics.transactions
Đầu ra:
[
{ _id: 'sell', avgAmount: 4996.42 },
{ _id: 'buy', avgAmount: 4986.17 }
]Đang tải editor...