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

¿Es map/reduce apropiado para encontrar la mediana y la moda de un conjunto de valores para muchos registros?

Aquí hay una pregunta clave con respecto al resultado esperado. No está 100 % claro a partir de tu pregunta cuál quieres.

¿Quieres (A) :

{ _id: "document1", value: { mode: 1.0, median: 10.0 } }
{ _id: "document2", value: { mode: 5.0, median: 150.0 } }
... one for each document

... o quieres (B) , la moda y la mediana en toda la combinación de todas las matrices.

  • Si la respuesta es (A) , entonces Map/Reduce funcionará .
  • Si la respuesta es (B) , entonces Map/Reduce probablemente no funcionará .

Si planeas hacer (A) , lea atentamente la documentación de M/R y comprenda las limitaciones. Mientras que la opción (A) puede ser un Map/Reduce, también puede ser un gran for bucle con un upsert en la colección "resumen" o incluso de vuelta a la colección original. Esto puede ser aún más eficiente.