MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

map/reduce é apropriado para encontrar a mediana e a moda de um conjunto de valores para muitos registros?


Há uma questão-chave aqui em relação à saída esperada. Não está 100% claro na sua pergunta qual você quer.

Você quer (A) :
{ _id: "document1", value: { mode: 1.0, median: 10.0 } }
{ _id: "document2", value: { mode: 5.0, median: 150.0 } }
... one for each document

... ou você quer (B) , a moda e a mediana em toda a combinação de todas as matrizes.
  • Se a resposta for (A) , então Map/Reduce funcionará .
  • Se a resposta for (B) , então Map/Reduce provavelmente não funcionará .

Se você planeja fazer (A) , leia atentamente a documentação de M/R e entenda as limitações. Enquanto a opção (A) pode ser um Map/Reduce, também pode ser apenas um grande for loop com um upsert na coleção "resumo" ou mesmo de volta à coleção original. Isso pode ser ainda mais eficiente.