Bạn có thể sử dụng toán tử $ group với _id:null. Sau đây là cú pháp -
db.yourCollectionName.aggregate([{$group: {_id:null, "anyFieldName": {$avg:"$yourFieldName"} } }]); Trước tiên, hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -
> db.caculateTheAverageValueDemo.insertOne({"Population":100});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cd68a197924bb85b3f4895f")
}
> db.caculateTheAverageValueDemo.insertOne({"Population":500});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cd68a1c7924bb85b3f48960")
}
> db.caculateTheAverageValueDemo.insertOne({"Population":200});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cd68a237924bb85b3f48961")
}
> db.caculateTheAverageValueDemo.insertOne({"Population":100});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cd68a297924bb85b3f48962")
}
> db.caculateTheAverageValueDemo.insertOne({"Population":100});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cd68a2e7924bb85b3f48963")
} Sau đây là truy vấn để hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find () -
> db.caculateTheAverageValueDemo.find().pretty();
Điều này sẽ tạo ra kết quả sau -
{ "_id" : ObjectId("5cd68a197924bb85b3f4895f"), "Population" : 100 }
{ "_id" : ObjectId("5cd68a1c7924bb85b3f48960"), "Population" : 500 }
{ "_id" : ObjectId("5cd68a237924bb85b3f48961"), "Population" : 200 }
{ "_id" : ObjectId("5cd68a297924bb85b3f48962"), "Population" : 100 }
{ "_id" : ObjectId("5cd68a2e7924bb85b3f48963"), "Population" : 100 } Sau đây là truy vấn để tính trung bình các giá trị của tài liệu MongoDB -
> db.caculateTheAverageValueDemo.aggregate([{$group: {_id:null, "AveragePopulation": {$avg:"$Population"} } }]); Điều này sẽ tạo ra kết quả sau -
{ "_id" : null, "AveragePopulation" : 200 }