참고
맵 리듀스의 대안으로서의 집계 파이프라인
MongoDB 5.0 부터 맵 리듀스 는 더 이상 사용되지 않습니다.
- 맵 리듀스 대신 집계 파이프라인을 사용해야 합니다. 집계 파이프라인은 맵 리듀스보다 성능과 유용성 측면에서 더 우수합니다. 
- 4} - $group- $merge, 등과 같은 집계 파이프라인 단계를 사용하여 맵 축소 연산을 다시 작성할 수 있습니다.
- 사용자 지정 기능이 필요한 맵 리듀스 작업의 경우 - $accumulator및- $function집계 연산자를 사용할 수 있습니다. 이러한 연산자를 사용하여 JavaScript에서 사용자 지정 집계 표현식을 정의할 수 있습니다.
맵 리듀스 대안으로서의 집계 파이프라인 예시는 다음을 참조하세요.
맵 리듀스 작업은 입력 collection에서 읽기, map 함수 실행, reduce 함수 실행, 처리 중 임시 collection에 쓰기, 출력 collection에 쓰기 등 많은 작업으로 구성됩니다.
작업 중에 map-reduce는 다음과 같은 잠금을 사용합니다.
- 읽기 단계에서는 읽기 잠금(read lock)을 사용합니다. 100개의 문서마다 생성됩니다. 
- 임시 컬렉션에 대한 삽입은 단일 쓰기에 대해 쓰기 잠금(write lock)을 사용합니다. 
- 출력 collection이 존재하지 않는 경우, 출력 collection을 만들 때는 쓰기 잠금 (write lock)이 필요합니다. 
- 출력 컬렉션이 존재하는 경우 출력 작업(예: - merge,- replace,- reduce)는 쓰기 잠금(write lock)을 사용합니다. 이 쓰기 잠금 (write lock)은 글로벌 이며- mongod인스턴스에 대한 모든 작업을 차단합니다.