หากต้องการรวมผลรวมใน 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 }