Phân tích dữ liệu thời tiết trong collection data:
• Chỉ xét bản ghi có trường airTemperature.value tồn tại và khác 999.9 (giá trị 999.9 nghĩa là thiếu số liệu)
• Gom nhóm theo trạm đo st (trạm đo là _id của nhóm)
• Lấy nhiệt độ cao nhất tại mỗi trạm, đặt tên trường là maxTemp
• Sắp xếp theo maxTemp giảm dần; nếu bằng nhau thì theo _id tăng dần
• Chỉ lấy 10 trạm đầu tiên
Chương trình chỉ được in kết quả của câu aggregate này. Không cần lệnh use.
Collection data (dữ liệu mẫu sample_weatherdata.data) đã được nạp sẵn.
Kết quả của câu aggregate theo định dạng mongosh: mảng 10 document, mỗi document có dạng { _id: <mã trạm>, maxTemp: <nhiệt độ cao nhất> }, ví dụ:
[
{ _id: 'x+41700-068400', maxTemp: 44.4 },
...
]
Ví dụ:
Đầu vào:
sample_weatherdata.data
Đầu ra:
[
{ _id: 'x+41700-068400', maxTemp: 44.4 },
{ _id: 'x+40900-070800', maxTemp: 38 },
{ _id: 'x-19100+154800', maxTemp: 38 },
{ _id: 'x+22300-066300', maxTemp: 37 },
{ _id: 'x-30500-049900', maxTemp: 37 },
{ _id: 'x-08800-119000', maxTemp: 36.7 },
{ _id: 'x-19300+012100', maxTemp: 36.6 },
{ _id: 'x-23100-157000', maxTemp: 36.5 },
{ _id: 'x+56400+002000', maxTemp: 36 },
{ _id: 'x-22600+100700', maxTemp: 36 }
]Đang tải editor...