ในการคำนวณค่าเฉลี่ยของฟิลด์ใดฟิลด์หนึ่ง ให้ใช้ aggregate() ร่วมกับ $avg ให้เราสร้างคอลเลกชันที่มีเอกสาร -
> db.demo214.insertOne({"Marks":56,"Name":"David"}); { "acknowledged" : true, "insertedId" : ObjectId("5e3e319403d395bdc2134705") } > db.demo214.insertOne({"Marks":86,"Name":"Bob"}); { "acknowledged" : true, "insertedId" : ObjectId("5e3e319c03d395bdc2134706") } > db.demo214.insertOne({"Marks":78,"Name":"Carol"}); { "acknowledged" : true, "insertedId" : ObjectId("5e3e31a403d395bdc2134707") }
แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -
> db.demo214.find();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5e3e319403d395bdc2134705"), "Marks" : 56, "Name" : "David" } { "_id" : ObjectId("5e3e319c03d395bdc2134706"), "Marks" : 86, "Name" : "Bob" } { "_id" : ObjectId("5e3e31a403d395bdc2134707"), "Marks" : 78, "Name" : "Carol" }
ต่อไปนี้เป็นแบบสอบถามเพื่อคำนวณค่าเฉลี่ยของเขตข้อมูลเฉพาะใน MongoDB -
> db.demo214.aggregate( ... [ ... { ... $group: ... { ... ... "_id":"_id", ... AverageValue: { $avg: "$Marks" } ... } ... } ... ] ...)
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้
{ "_id" : "_id", "AverageValue" : 73.33333333333333 }