Mongodb: 필드의 합계를 계산하는 방법
다음 방법을 사용하여 MongoDB의 필드 값 합계를 계산할 수 있습니다.
방법 1: 필드의 합계 계산
db.collection.aggregate([{ $group : {_id: null , sum_val:{$sum: " $valueField "}}}])
방법 2: 그룹별 필드 합계 계산
db.collection.aggregate([{ $group : {_id: " $groupField ", sum_val:{$sum: " $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 , sum_val:{$sum: " $points "}}}])
이 쿼리는 다음 결과를 반환합니다.
{ _id: null , sum_val: 130}
결과를 보면 포인트 필드의 값의 합이 130 임을 알 수 있습니다.
포인트 값의 합을 수동으로 계산하여 이것이 올바른지 수동으로 확인할 수 있습니다.
포인트 합계: 30 + 30 + 20 + 25 + 25 = 130 .
예 2: 그룹별 필드 합계 계산
다음 코드를 사용하여 팀 필드별로 그룹화된 포인트 필드 값의 합계를 계산할 수 있습니다.
db.teams.aggregate([{ $group : {_id: " $team ", sum_val:{$sum: " $points "}}}])
이 쿼리는 다음 결과를 반환합니다.
{ _id: ' Spurs ', sum_val: 60 } { _id: ' Mavs ', sum_val: 70 }
결과에서 다음을 확인할 수 있습니다.
- 스퍼스의 총점은 60점 입니다.
- Mavs의 총점은 70점 입니다.
참고 : $sum 함수에 대한 전체 문서는 여기에서 찾을 수 있습니다.
추가 리소스
다음 튜토리얼에서는 MongoDB에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.
MongoDB에서 중앙값을 계산하는 방법
MongoDB에서 평균값을 계산하는 방법
MongoDB에서 최대값을 계산하는 방법