Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

หาผลรวมค่าของ Field ทุก Document ใน MongoDB Collection

หาผลรวม Field แบบรวมทุก Document ด้วย Aggregation

สร้างข้อมูลตัวอย่าง

> db.sumOfValueDemo.insertOne({"Name":"Larry","Amount":14.50});
{ "acknowledged" : true, "insertedId" : ObjectId("5c8ee7272f684a30fbdfd592") }
> db.sumOfValueDemo.insertOne({"Name":"Mike","Amount":15.68});
{ "acknowledged" : true, "insertedId" : ObjectId("5c8ee7342f684a30fbdfd593") }
> db.sumOfValueDemo.insertOne({"Name":"Carol","Amount":50.32});
{ "acknowledged" : true, "insertedId" : ObjectId("5c8ee7412f684a30fbdfd594") }
> db.sumOfValueDemo.insertOne({"Name":"David","Amount":120.90});
{ "acknowledged" : true, "insertedId" : ObjectId("5c8ee7532f684a30fbdfd595") }

Aggregation หาผลรวม Amount

> db.sumOfValueDemo.aggregate({
  $group: { _id: '', "Amount": { $sum: '$Amount' } }
}, {
  $project: { _id: 0, "TotalAmount": '$Amount' }
});
{ "TotalAmount" : 201.4 }

ใช้ $group รวมทุก Document (_id: '') แล้ว $sum: "$Amount" คำนวณผลรวม สุดท้าย $project จัดรูปแบบ Output