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

MongoDB Aggregation $sum เพื่อหาผลรวมและนับจำนวน

ใช้ $sum ใน Aggregation เพื่อนับจำนวนและหาผลรวม

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

> 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") }

กรณีที่ 1: นับจำนวน Document ทั้งหมด ($sum: 1)

> db.aggregateSumDemo.aggregate([ { $group: { _id: null, "TotalCount": { $sum: 1 } } } ]);
{ "_id" : null, "TotalCount" : 4 }

กรณีที่ 2: หาผลรวม Field Amount ($sum: "$Amount")

> db.aggregateSumDemo.aggregate([ { $group: { _id: null, "TotalAmount": { $sum: "$Amount" } } } ]);
{ "_id" : null, "TotalAmount" : 1100 }

ใช้ $group ร่วมกับ $sum เพื่อทำ Aggregation ต่างๆ ได้