참고
대안으로서의 집계 파이프라인
MongoDB 5.0부터 맵 리듀스는 더 이상 사용되지 않습니다.
맵 리듀스 대신 집계 파이프라인을 사용해야 합니다. 집계 파이프라인은 맵 리듀스보다 성능과 유용성 측면에서 더 우수합니다.
4}
$group$merge, 등과 같은 집계 파이프라인 단계를 사용하여 맵 축소 연산을 다시 작성할 수 있습니다.사용자 지정 기능이 필요한 맵 리듀스 작업의 경우
$accumulator및$function집계 연산자를 사용할 수 있습니다. 이러한 연산자를 사용하여 JavaScript에서 사용자 지정 집계 표현식을 정의할 수 있습니다.
맵 리듀스 대안으로서의 집계 파이프라인 예시는 다음을 참조하세요.
MongoDB Atlas에서 호스팅되는 배포에 대해 UI에서 집계 파이프라인을 실행할 수 있습니다.
맵 리듀스는 대량의 데이터를 집계된 결과로 집약하기 위한 데이터 처리 패러다임입니다. 맵 리듀스 작업을 수행하기 위해 MongoDB는 mapReduce 데이터베이스 명령을 제공합니다.
다음 맵 리듀스 작업을 고려해 보세요:
MongoDB는 각 입력 문서(쿼리 조건과 일치하는 컬렉션의 문서)uc5d0 맵 단계를 적용합니다. 맵 함수는 키-값 쌍을 출력합니다. 가지고 있는 키가 여러 값을 가지고 있는 경우 MongoDB는 데이터를 수집하고 압축하는 reduce 단계를 적용한 후 결과를 컬렉션에 저장합니다. reduce 함수의 출력은 선택적으로 finalize 함수를 통과하여 결과를 추가로 처리할 수 있습니다.
MongoDB의 모든 맵 리듀스 함수는 JavaScript이며 mongod 프로세스 내에서 실행됩니다. 맵 리듀스 작업은 단일 컬렉션 을 입력으로 사용하며 매핑 단계 전에 정렬 및 제한을 적용할 수 있습니다. mapReduce 는 결과를 문서로 반환하거나 컬렉션에 쓸 수 있습니다.
참고
맵 리듀스는 MongoDB Atlas 무료 및 Flex 클러스터에서 지원되지 않습니다.
맵-리듀스 JavaScript 함수
맵 리듀스 작업은 사용자 정의 JavaScript 함수를 사용하여 값을 키에 매핑합니다. 키에 값이 여러 개 있는 경우 이 작업은 값을 단일 객체로 줄입니다. 맵 함수는 여러 개의 키-값 쌍을 출력하거나 아무것도 출력하지 않을 수 있습니다. 선택 사항인 최종 함수는 결과에 대해 추가 수정을 수행할 수 있습니다.
맵 리듀스 결과
맵 리듀스 작업은 결과를 컬렉션에 쓰거나 인라인으로 반환할 수 있습니다. 결과를 컬렉션에 쓰는 경우, 새 결과를 이전 결과로 대체, 병합 또는 축소하는 동일한 입력 컬렉션에 대해 후속 맵 리듀스 작업을 실행할 수 있습니다. 예시는 mapReduce 및 Perform Incremental 맵 리듀스 를 참조하십시오.
결과를 인라인으로 반환할 때 결과 문서는 BSON 문서 크기 제한(16 메비바이트)내에 있어야 합니다. 기타 제한 사항 및 제한 사항은 mapReduce을 참조하세요.
샤드 컬렉션
MongoDB는 샤드 컬렉션에 대한 맵 리듀스 작업을 지원합니다.
조회수
뷰는 맵 축소 작업을 지원하지 않습니다.