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: 여러 필드로 그룹화하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다