Docs Menu
Docs Home
/ /

Map-Reduce

Nota

Pipeline de agregación como alternativa

A partir de MongoDB 5.0, map-reduce está obsoleto:

Para ejemplos de alternativas de pipeline de agregación a map-reduce, consulte:

Puedes ejecutar pipelines de agregación en la interfaz de usuario para implementaciones alojadas en MongoDB Atlas.

Map-reduce es un paradigma de procesamiento de datos para condensar grandes volúmenes de datos en resultados agregados. Para realizar operaciones de map-reduce, MongoDB proporciona el comando de base de datos mapReduce.

Considerar la siguiente operación map-reduce:

Diagrama de la operación anotada de map-reduce.

MongoDB aplica la fase map a cada documento de entrada (los documentos de la colección que coinciden con la condición de query). La función de mapa emite pares clave-valor. Para las claves que tienen varios valores, MongoDB aplica la fase reduce, que recopila y condensa los datos, y luego almacena los resultados en una colección. La salida de la función reduce puede pasar opcionalmente a través de una función finalizar para procesar aún más los resultados.

Todas las funciones de map-reduce en MongoDB son de JavaScript y se ejecutan dentro del proceso mongod. Las operaciones de Map-Reduce toman como entrada una sola colección y pueden aplicar ordenamiento y limitación antes de la etapa de mapeo. mapReduce puede devolver resultados como un documento o guardarlos en una colección.

Nota

Map-reduce no es compatible con los clústeres gratuitos y flexibles de MongoDB Atlas.

Las operaciones map-reduce usan funciones JavaScript personalizadas para asignar valores a una clave. Si una clave tiene varios valores, la operación los reduce a un solo objeto. Una función de mapeo puede emitir múltiples pares clave-valor o ninguno. Una función de finalización opcional puede realizar más modificaciones a los resultados.

Una operación de map-reduce puede guardar los resultados en una colección o devolverlos en línea. Si escribe los resultados en una colección, puede ejecutar operaciones de map-reduce posteriores en la misma colección de entrada que reemplacen, fusionen o reduzcan los nuevos resultados con los resultados anteriores. Consulte mapReduce y Realizar Map-Reduce incremental para obtener ejemplos.

Al devolver los resultados en línea, los documentos de resultados deben ajustarse al límite de tamaño de documento BSON de 16 mebibytes. Para conocer más límites y restricciones, consulte mapReduce.

MongoDB admite operaciones de map-reduce en colecciones particionadas.

Las vistas no dan soporte a operaciones de map-reduce.

Volver

De SQL a agregación

En esta página