หากต้องการค้นหาผลรวมของเขตข้อมูลภายในอาร์เรย์ ให้ใช้ $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 }