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

แบบสอบถาม MongoDB เพื่อรับค่าเฉลี่ยในการรวบรวมองค์ประกอบอาร์เรย์?


หากต้องการหาค่าเฉลี่ยขององค์ประกอบอาร์เรย์ ให้ใช้ $avg ให้เราสร้างคอลเลกชันที่มีเอกสาร -

> db.demo584.insertOne({"Marks":[75,50,85,60,80]});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e91d827fd2d90c177b5bcc2")
}

แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -

> db.demo584.find().pretty();

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

{
   "_id" : ObjectId("5e91d827fd2d90c177b5bcc2"),
   "Marks" : [
      75,
      50,
      85,
      60,
      80
   ]
}

ต่อไปนี้เป็นแบบสอบถามเพื่อค้นหาค่าเฉลี่ยในการรวมองค์ประกอบอาร์เรย์ -

> db.demo584.aggregate([
...    { $project: { MarksAvg: { $avg: "$Marks"} } }
... ])

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

{ "_id" : ObjectId("5e91d827fd2d90c177b5bcc2"), "MarksAvg" : 70 }