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에서 최대값을 계산하는 방법

의견을 추가하다

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