Il y a une question clé ici concernant la sortie attendue. Il n'est pas clair à 100 % d'après votre question lequel vous voulez.
Voulez-vous (A) :
{ _id: "document1", value: { mode: 1.0, median: 10.0 } }
{ _id: "document2", value: { mode: 5.0, median: 150.0 } }
... one for each document
... ou voulez-vous (B) , le mode et la médiane sur toute la combinaison de tous les tableaux.
- Si la réponse est (A) , alors Map/Reduce fonctionnera .
- Si la réponse est (B) , alors Map/Reduce ne fonctionnera probablement pas .
Si vous prévoyez de faire (A) , veuillez lire attentivement la documentation M/R et comprendre les limitations. Tandis que l'option (A) peut être un Map/Reduce, il peut aussi s'agir d'un gros for
boucle avec un upsert
sur la collection "sommaire" ou même dans la collection originale. Cela peut être encore plus efficace.