MongoDB의 평균은 $avg를 사용합니다. 문서로 컬렉션을 만들어 봅시다. 여기에 각 −
에 대한 등급이 있는 중복 ID가 있습니다.> db.demo606.insertOne({id:1,rating:5});{ "확인됨" :true, "insertedId" :ObjectId("5e972dfbf57d0dc0b182d623")}> db.demo606.insertOne({id:,rating:4});{ "승인됨" :true, "insertedId" :ObjectId("5e972dfef57d0dc0b182d624")}> db.demo606.insertOne({id:2,rating:3});{ "승인됨" :true, "insertedId":ObjectId("5e972e09f57d0dc0b182d625")}> db.demo606.insertOne({id:1,rating:null});{ "승인된":true, "insertedId":ObjectId("5e97200dcef1872e0) demo606.insertOne({id:2,rating:null});{ "승인됨":true, "insertedId":ObjectId("5e972e15f57d0dc0b182d627")}> db.demo606.insertOne({id:2,rating:3};{ "승인됨" :true, "insertedId" :ObjectId("5e972e1bf57d0dc0b182d628")}
find() 메서드를 사용하여 컬렉션의 모든 문서 표시 -
> db.demo606.find();
이것은 다음과 같은 출력을 생성합니다 -
{ "_id" :ObjectId("5e972dfbf57d0dc0b182d623"), "id" :1, "rating" :5 }{ "_id" :ObjectId("5e972dfef57d0dc0b182d624"), "id" :1 }{ "_id":ObjectId("5e972e09f57d0dc0b182d625"), "id":2, "rating":3 }{ "_id":ObjectId("5e972e0ef57d0dc0b182d626"), "id":1, "_id":ObjectId("5e972e15f57d0dc0b182d627"), "id":2, "rating":null }{ "_id":ObjectId("5e972e1bf57d0dc0b182d628"), "id":2, "rating">다음은 중복 ID를 기반으로 등급 평균을 구하는 쿼리입니다 -
> db.demo606.aggregate(... [... { "$group":{... "_id":"$id",... "AverageRating":{ "$avg":{ "$ifNull":["$rating",0 ] } }... }}... ]... );이것은 다음과 같은 출력을 생성합니다 -
{ "_id" :2, "AverageRating" :2 }{ "_id" :1, "AverageRating" :3 }