หาผลรวม 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