문서 메뉴
문서 홈
/
MongoDB 매뉴얼
/ /

애그리게이션 명령 비교

이 페이지의 내용

  • 집계 명령 비교표

참고

맵 리듀스의 대안으로서의 집계 파이프라인

MongoDB 5 부터 시작.0 맵 리듀스 는 더 이상 사용되지 않습니다.

맵 리듀스 대안으로서의 애그리게이션 파이프라인 예시는 다음을 참조하세요.

다음 표는 MongoDB 집계 명령의 기능에 대한 간략한 개요를 제공합니다.

설명

집계 작업의 성능과 사용성을 개선한다는 구체적인 목표를 가지고 설계되었습니다.

$group, $match$sort과 같은 일련의 파이프라인 연산자를 통과할 때 객체가 변환되는 '파이프라인' 접근 방식을 사용합니다.

파이프라인 연산자에 대한 자세한 내용은 집계 파이프라인 연산자 를 참조하세요.

대규모 데이터 세트를 처리할 수 있는 맵 리듀스 집계를 구현합니다.
주요 기능

파이프라인 연산자는 필요에 따라 반복할 수 있습니다.

파이프라인 연산자는 모든 입력 문서에 대해 하나의 출력 문서를 생성할 필요가 없습니다.

새 문서를 생성하거나 문서를 필터링할 수도 있습니다.

$merge 단계를 사용하여 파이프라인이 실행되는 동안 출력 컬렉션의 내용을 점진적으로 업데이트할 수 있는 온디맨드 구체화된 뷰를 생성할 수 있습니다. $merge는 결과(새 문서 삽입, 문서 병합, 문서 교체, 기존 문서 유지, 작업 실패, 사용자 지정 업데이트 파이프라인으로 문서 처리)를 기존 컬렉션에 통합할 수 있습니다.

그룹화 작업 외에도 복잡한 집계 작업을 수행할 수 있을 뿐만 아니라 지속적으로 증가하는 데이터 세트에 대해 증분 집계를 수행할 수 있습니다.

Map-Reduce 예시증분 맵-리듀스 수행을 참조하세요.

유연성

사용자 지정 집계 표현식을 $accumulator$function로 정의할 수 있습니다.

또한 $project 파이프라인 연산자를 사용하여 계산된 필드를 추가하고, 새 가상 하위 객체를 만들고, 하위 필드를 결과의 최상위 수준으로 추출할 수 있습니다.

자세한 내용은 $project 를 참조하고, 사용 가능한 모든 파이프라인 연산자에 대한 자세한 내용은 집계 파이프라인 연산자 를 참조하세요.

사용자 지정 map, reducefinalize JavaScript 함수는 집계 로직에 유연성을 제공합니다.

기능에 대한 자세한 내용 및 제한 사항은 mapReduce를 참조하세요.

출력 결과

결과를 커서로 반환합니다. 파이프라인에 $out 단계 또는 $merge 단계가 포함되어 있으면 커서가 비어 있습니다.

$out을 사용하면 기존 출력 컬렉션을 완전히 바꾸거나 새 컬렉션으로 출력할 수 있습니다. 자세한 내용은 $out를 참조하세요.

$merge를 사용하면 새 컬렉션 또는 기존 컬렉션에 출력할 수 있습니다. 기존 컬렉션의 경우 결과를 출력 컬렉션에 통합하는 방법(새 문서 삽입, 문서 병합, 문서 바꾸기, 기존 문서 유지, 작업 실패, 사용자 지정 업데이트 파이프라인으로 문서 처리)을 지정할 수 있습니다. 자세한 내용은 $merge를 참조하세요.

반환 결과에는 다양한 옵션(인라인, 새 컬렉션, 병합, 바꾸기, 축소)이 있습니다. 출력 옵션에 대한 자세한 내용은 mapReduce 를 참조하세요.
샤딩

비샤딩 및 샤딩 입력 컬렉션을 지원합니다.

$merge 샤딩되지 않은 컬렉션 또는 샤딩된 컬렉션으로 출력할 수 있습니다.

비샤딩 및 샤딩 입력 컬렉션을 지원합니다.
자세한 정보

돌아가기

애그리게이션 명령

다음

Variables in Aggregation Expressions

이 페이지의 내용