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

รับค่าเฉลี่ยของทั้งฟิลด์โดยใช้กรอบการรวมใน MongoDB หรือไม่


คุณสามารถใช้วิธี aggregate() สำหรับสิ่งนี้ ให้เราสร้างคอลเลกชันที่มีเอกสารก่อน

<ก่อนหน้า>> db.averageAggregationDemo.insertOne({"PlayerGameScore":45});{ "acknowledged" :true, "insertedId" :ObjectId("5c9ed66bd628fa4220163b95")}> db.averageAggregationDemo.insertOne({":55PlayerGameScore });{ "รับทราบ" :จริง "insertedId" :ObjectId("5c9ed671d628fa4220163b96")}> db.averageAggregationDemo.insertOne({"PlayerGameScore":65});{ "รับทราบ" :จริง "insertedObjectId" :}); "5c9ed676d628fa4220163b97")}> db.averageAggregationDemo.insertOne({"PlayerGameScore":35});{ "รับทราบ" :จริง "insertedId" :ObjectId("5c9ed67bd628fa4220163b98")}> regationDaveragein :16});{ "รับทราบ" :จริง "insertedId" :ObjectId("5c9ed701d628fa4220163b99")}

ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงเอกสารทั้งหมดจากคอลเลกชันโดยใช้วิธี find()

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

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

{ "_id" :ObjectId("5c9ed66bd628fa4220163b95"), "PlayerGameScore" :45 }{ "_id" :ObjectId("5c9ed671d628fa4220163b96"), "PlayerGameScore" :55 }{ "_id" 5c97bfa6d67") , "PlayerGameScore" :65 }{ "_id" :ObjectId("5c9ed67bd628fa4220163b98"), "PlayerGameScore" :35 }{ "_id" :ObjectId("5c9ed701d628fa4220163b99"), "PlayerGameScoreing" :16 }การติดตาม ค่าเฉลี่ยของทั้งฟิลด์ด้วยการรวม:> db.averageAggregationDemo.aggregate({ "$group":{ "_id":null, "PlayerGameScoreAverage":{ "$avg":"$PlayerGameScore" } } } } );

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

{ "_id" :null "PlayerGameScoreAverage" :43.2 }