집계 파이프라인은 문서를 처리하는 하나 이상의 단계로 구성됩니다.
각 단계는 입력 문서에 대한 연산을 수행합니다. 예를 들어, 한 단계에서는 문서를 필터링하고, 문서를 그룹화하고, 값을 계산할 수 있습니다.
한 단계에서 출력된 문서는 다음 단계로 전달됩니다.
집계 파이프라인은 문서 그룹에 대한 결과를 반환할 수 있습니다. 예를 들어 총값, 평균값, 최대값, 최소값을 반환할 수 있습니다.
집계 파이프라인을 사용하여 업데이트에 표시된 단계를 사용하는 경우 집계 파이프라인으로 문서를 업데이트할 수 있습니다.
참고
db.collection.aggregate() 메서드로 실행되는 집계 파이프라인은 파이프라인에 $merge 또는 $out 단계가 포함되지 않는 한 컬렉션의 문서를 수정하지 않습니다.
MongoDB Atlas에서 호스팅되는 배포에 대해 UI에서 집계 파이프라인을 실행할 수 있습니다.
MongoDB Atlas UI에서 MongoDB Atlas에 집계 파이프라인을 실행하는 경우 각 단계에서 결과를 미리 볼 수 있습니다.
집계 파이프라인 예시
전체 집계 파이프라인 튜토리얼 섹션에는 일반적인 집계 작업에 대한 단계별 튜토리얼과 MongoDB Shell 및 각 공식 MongoDB 드라이버에 대한 예제가 포함되어 있습니다.
집계 파이프라인실행
집계 파이프라인을 실행하려면 다음을 사용하세요.
추가 집계 파이프라인 단계 세부 정보
집계 파이프라인은 문서를 처리하는 하나 이상의 단계로 구성됩니다.
한 단계가 모든 입력 문서에 대해 하나의 문서를 출력할 필요는 없습니다. 일부 단계에서는 새 문서를 생성하거나 문서를 필터링할 수 있습니다.
모든 집계 단계에 대해 집계 단계를 참조하세요
표현식 및 연산자
집계 파이프라인에서 표현식은 단계가 파이프라인의 각 입력 문서를 처리하는 방식을 정의합니다. 예를 들어 표현식은 포함할 문서, 필드를 변형하는 방법 또는 새 값을 계산하는 방법을 정의할 수 있습니다.
일부 집계 파이프라인 단계에서는 표현식을 허용합니다. 연산자는 입력 표현식을 기반으로 값을 계산합니다.
MongoDB 쿼리 언어에서는 다음 구성 요소에서 표현식을 빌드할 수 있습니다.
구성 요소 | 예시 |
|---|---|
상수 |
|
연산자 | |
필드 경로 표현식 |
|
예시 를 들어 { $add: [ 3, "$inventory.total" ] } 은 $add 연산자 와 두 개의 피연산자로 구성된 표현식 입니다.
상수
3필드 경로 표현식
"$inventory.total"
표현식은 입력 문서의 경로 inventory.total에 있는 값에 3을 더한 결과를 반환합니다.
필드 경로
필드 경로 표현식은 입력 문서의 필드에 액세스하는 데 사용됩니다. 필드 이름 앞에 달러 기호 $를 추가합니다. 예를 들어 "$user" 은 user 필드를 참조하고 "$user.name" 는 내장된 user.name 필드를 참조합니다.
자세한 예시는 필드 경로를 참조하세요.
집계 파이프라인을 사용하여 문서 업데이트하기
집계 파이프라인을 사용하여 문서를 업데이트하려면 다음을 사용하세요.
기타 고려 사항
집계 파이프라인 제한 사항
값 유형 및 결과 크기에 대한 제한은 집계 파이프라인 제한을 참조하세요.
집계 파이프라인 및 샤드 컬렉션
집계 파이프라인은 샤딩된 컬렉션의 작업을 지원합니다. 집계 파이프라인 및 샤딩된 컬렉션을 참조하세요.
자세히 알아보기
집계 파이프라인에 대해 자세히 알아보려면 다음을 참조하세요.