ในการรวม ให้ใช้ aggregate() ใน MongoDB จะคำนวณค่ารวมสำหรับข้อมูลในคอลเล็กชัน
ให้เราสร้างคอลเลกชันที่มีเอกสาร -
<ก่อนหน้า>> db.demo544.insertOne({"DueTime":new ISODate("2020-01-10 12:10:20"),Amount:100});{ "acknowledged" :true, "insertedId" :ObjectId ("5e8e1f029e5f92834d7f05ce")}> db.demo544.insertOne({"DueTime":new ISODate("2020-01-12 12:00:00"),Amount:500});{ "acknowledged" :true, "insertedId" " :ObjectId("5e8e1f089e5f92834d7f05cf")}> db.demo544.insertOne({"DueTime":new ISODate("2020-01-12 12:10:20"),Amount:900});{ "acknowledged" :true , "insertedId" :ObjectId("5e8e1f109e5f92834d7f05d0")}แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -
> db.demo544.find();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" :ObjectId("5e8e1f029e5f92834d7f05ce"), "DueTime" :ISODate("2020-01-10T12:10:20Z"), "Amount" :100 }{ "_id" :ObjectId("5e8e1f089ef05f92834"d ), "DueTime" :ISODate("2020-01-12T12:00:00Z"), "Amount" :500 }{ "_id" :ObjectId("5e8e1f109e5f92834d7f05d0"), "DueTime" :ISODate("2020-01- 12T12:10:20Z"), "จำนวนเงิน" :900 }
ต่อไปนี้เป็นแบบสอบถามที่จะรวมเป็นชั่วโมงและ $avg −
> db.demo544.aggregate( { "$group":{ "_id":{ "$hour":"$dueTime" }, "Amount":{ "$avg":"$Amount" } }} )
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" :null, "Amount" :500 }