Mongodb: 필드의 평균값을 계산하는 방법
다음 방법을 사용하여 MongoDB에서 필드의 평균 값을 계산할 수 있습니다.
방법 1: 필드 평균 계산
db.collection.aggregate([{ $group : {_id: null , avg_val:{$avg: " $valueField "}}}])
방법 2: 그룹당 필드 평균 계산
db.collection.aggregate([{ $group : {_id: " $groupField ", avg_val:{$avg: " $valueField "}}}])
다음 예는 다음 문서를 가지고 수집 팀 과 함께 각 방법을 사용하는 방법을 보여줍니다.
db.teams.insertOne({team: " Mavs ", points: 30, rebounds: 8}) db.teams.insertOne({team: " Mavs ", points: 30, rebounds: 12}) db.teams.insertOne({team: " Spurs ", points: 20, rebounds: 7}) db.teams.insertOne({team: " Spurs ", points: 25, rebounds: 5}) db.teams.insertOne({team: " Spurs ", points: 25, rebounds: 9})
예 1: 필드 평균 계산
다음 코드를 사용하여 포인트 필드의 평균값을 계산할 수 있습니다.
db.teams.aggregate([{ $group : {_id: null , avg_val:{$avg: " $points "}}}])
이 쿼리는 다음 결과를 반환합니다.
{ _id: null , avg_val: 26 }
결과에서 포인트 필드의 평균값이 26 임을 알 수 있습니다.
포인트 값을 수동으로 평균화하여 이것이 올바른지 수동으로 확인할 수 있습니다.
평균 포인트: (30 + 30 + 20 + 25 + 25) / 5 = 26 .
예 2: 그룹별 필드 평균 계산
다음 코드를 사용하여 팀 필드별로 그룹화된 포인트 필드의 평균 값을 계산할 수 있습니다.
db.teams.aggregate([{ $group : {_id: " $team ", avg_val:{$avg: " $points "}}}])
이 쿼리는 다음 결과를 반환합니다.
{ _id: ' Spurs ', avg_val: 23.333333333333332 } { _id: ' Mavs ', avg_val: 30 }
결과에서 다음을 확인할 수 있습니다.
- 스퍼스의 평균 점수는 23.33 입니다.
- Mavs의 평균 포인트 값은 30 입니다.
참고 : $avg 함수에 대한 전체 문서는 여기에서 찾을 수 있습니다.
추가 리소스
다음 튜토리얼에서는 MongoDB에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.
MongoDB: 새 필드를 추가하는 방법
MongoDB: 필드를 삭제하는 방법
MongoDB: 그룹화 및 계산 방법
MongoDB: 여러 필드로 그룹화하는 방법