หากต้องการค้นหาผลรวมของเขตข้อมูลภายในอาร์เรย์ ให้ใช้ $sum ให้เราสร้างคอลเลกชันที่มีเอกสาร -
> db.demo96.insertOne( ... { ... ... "Name" : "Chris", ... "Details" : [ ... { ... Marks:67 ... }, ... { ... Marks:33 ... }, ... { ... Marks:50 ... } ... ] ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5e2d6aadb8903cdd865577ad") }
แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -
> db.demo96.find();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5e2d6aadb8903cdd865577ad"), "Name" : "Chris", "Details" : [ { "Marks" : 67 }, { "Marks" : 33 }, { "Marks" : 50 } ] }
ต่อไปนี้เป็นแบบสอบถามเพื่อค้นหาผลรวมของเขตข้อมูลภายในอาร์เรย์ใน MongoDB -
> db.demo96.aggregate([ ... { "$project": { ... "Name": 1, ... "TotalMarks": { ... "$sum": "$Details.Marks" ... } ... }} ... ]);
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5e2d6aadb8903cdd865577ad"), "Name" : "Chris", "TotalMarks" : 150 }