Đối với điều này, hãy sử dụng khung tổng hợp. Trước tiên, hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -
> db.aggregateArrayDemo.insertOne ({"_id":100, "UserDetails":[{"UserName":"John", "UserLoginYear":2010}, {"UserName":"Carol", "UserLoginYear" :2019}]}); {"Recognition":true, "insertId":100}
Sau đây là truy vấn để hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find () -
> db.aggregateArrayDemo.find (). pretty ();
Điều này sẽ tạo ra kết quả sau -
{"_id":100, "UserDetails":[{"UserName":"John", "UserLoginYear":2010}, {"UserName":"Carol", "UserLoginYear":2019}]}Sau đây là truy vấn để tổng hợp các tài liệu mảng -
> db.aggregateArrayDemo.aggregate ([{$ match:{_id:100}}, {$ project:{Minimum:{$ min:"$ UserDetails.UserLoginYear"}, Tối đa:{$ max:"$ UserDetails .UserLoginYear "}}}]);Điều này sẽ tạo ra kết quả sau -
{"_id":100, "Tối thiểu":2010, "Tối đa":2019}