ในการคำนวณค่าเฉลี่ยใน MongoDB ให้ใช้ $avg ให้เราสร้างคอลเลกชันที่มีเอกสาร -
> db.demo80.insertOne({"Details":{"Price":10.5}});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e2bf43271bf0181ecc42297")
}
> db.demo80.insertOne({"Details":{"Price":50.3}});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e2bf43871bf0181ecc42298")
}
> db.demo80.insertOne({"Details":{"Price":100.10}});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e2bf43f71bf0181ecc42299")
} แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -
> db.demo80.find();
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : ObjectId("5e2bf43271bf0181ecc42297"), "Details" : { "Price" : 10.5 } }
{ "_id" : ObjectId("5e2bf43871bf0181ecc42298"), "Details" : { "Price" : 50.3 } }
{ "_id" : ObjectId("5e2bf43f71bf0181ecc42299"), "Details" : { "Price" : 100.1 } } ต่อไปนี้เป็นแบบสอบถามเพื่อให้ได้ค่าเฉลี่ยใน MongoDB -
> db.demo80.aggregate([
... {
... "$group": {
... "_id": null,
... "AvgValue": {
... "$avg": "$Details.Price"
... }
... }
... }
... ]); สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
{ "_id" : null, "AvgValue" : 53.633333333333326 }