หากต้องการรวมผลรวมใน MongoDB เพื่อรับจำนวนรวม คุณสามารถใช้ตัวดำเนินการ $sum เพื่อให้เข้าใจแนวคิดข้างต้น ให้เราสร้างคอลเลกชันด้วยเอกสาร -
> db.aggregateSumDemo.insertOne({"CustomerName":"Larry","Amount":140}); { "acknowledged" : true, "insertedId" : ObjectId("5c8baa0680f10143d8431e18") } > db.aggregateSumDemo.insertOne({"CustomerName":"Mike","Amount":160}); { "acknowledged" : true, "insertedId" : ObjectId("5c8baa1380f10143d8431e19") } > db.aggregateSumDemo.insertOne({"CustomerName":"Sam","Amount":300}); { "acknowledged" : true, "insertedId" : ObjectId("5c8baa1c80f10143d8431e1a") } > db.aggregateSumDemo.insertOne({"CustomerName":"David","Amount":500}); { "acknowledged" : true, "insertedId" : ObjectId("5c8baa2580f10143d8431e1b") }
แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้เมธอด find() แบบสอบถามมีดังต่อไปนี้ −
> db.aggregateSumDemo.find().pretty();
ต่อไปนี้เป็นผลลัพธ์ -
{ "_id" : ObjectId("5c8baa0680f10143d8431e18"), "CustomerName" : "Larry", "Amount" : 140 } { "_id" : ObjectId("5c8baa1380f10143d8431e19"), "CustomerName" : "Mike", "Amount" : 160 } { "_id" : ObjectId("5c8baa1c80f10143d8431e1a"), "CustomerName" : "Sam", "Amount" : 300 } { "_id" : ObjectId("5c8baa2580f10143d8431e1b"), "CustomerName" : "David", "Amount" : 500 }
นี่คือแบบสอบถามเพื่อรับจำนวนทั้งหมด
กรณีที่ 1 − แบบสอบถามมีดังต่อไปนี้ −
> db.aggregateSumDemo.aggregate([ { ... $group: { ... _id: null, ... "TotalCount": { ... $sum:1 ... } ... } ... } ] );
ต่อไปนี้เป็นผลลัพธ์ -
{ "_id" : null, "TotalCount" : 4 }
นี่คือแบบสอบถามเพื่อรวมผลรวมใน MongoDB เพื่อรับผลรวมทั้งหมด
กรณีที่ 2 − แบบสอบถามมีดังต่อไปนี้ −
> db.aggregateSumDemo.aggregate([ { ... $group: { ... _id: null, ... "TotalAmount": { ... $sum: "$Amount" ... } ... } ... } ] );
ต่อไปนี้เป็นผลลัพธ์ -
{ "_id" : null, "TotalAmount" : 1100 }