sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Cómo cambiar la estructura de los resultados de reducción de mapa de MongoDB?

MapReduce solo devuelve documentos de la forma {_id:some_id, value:some_value}

"algún_valor" no tiene que ser necesariamente un documento incrustado, pero en la mayoría de los casos es para permitir que la función Map Reduce calcule múltiples variables. Los documentos devueltos por la función Reducir deben tener la misma forma en que se ingresan, ya que la función Reducir puede ejecutarse repetidamente para cualquier valor de _id dado.

Para ver paso a paso cómo funciona Map Reduce, consulte la sección "Extras" de la receta del libro de cocina de MongoDB titulada "Encontrar valores máximos y mínimos con documentos versionados" http://cookbook.mongodb.org/patterns/finding_max_and_min/ Esto debería proporcionar una mejor comprensión de cómo funciona Map Reduce y por qué la salida debe tener el formato {_id:some_id, value:some_value}

Es posible hacer un Map Reduce incremental, que fusionará los resultados de múltiples funciones de Map Reduce. http://www.mongodb.org/display/DOCS/MapReduce#MapReduce-IncrementalMapreduce

Finalmente, actualmente no es posible acceder a varias colecciones a la vez con Map Reduce. Hay una solicitud de función para esta capacidad, pero no está programada para agregarse a ninguna de las próximas versiones.
https://jira.mongodb.org/browse/SERVER-970