สำหรับสิ่งนี้ ให้ใช้กรอบงานรวม ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน -
> db.aggregateArrayDemo.insertOne( { "_id":100, "UserDetails":[ { "UserName":"John", "UserLoginYear":2010 }, { "UserName":"Carol", "UserLoginYear" :2019 } ] });{ "acknowledged" :true, "insertedId" :100 }
ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find() -
> db.aggregateArrayDemo.find().pretty();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" :100, "UserDetails" :[ { "UserName" :"John", "UserLoginYear" :2010 }, { "UserName" :"Carol", "UserLoginYear" :2019 } ]}ก่อน>ต่อไปนี้เป็นแบบสอบถามเพื่อรวมเอกสารอาร์เรย์ -
> db.aggregateArrayDemo.aggregate ([ { $match:{ _id:100 } }, { $project:{ ขั้นต่ำ:{ $min:"$UserDetails.UserLoginYear" }, สูงสุด:{ $max:"$UserDetails .UserLoginYear" } } }]);สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" :100, "Minimum" :2010, "Maximum" :2019 }