MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

map/reduce est-il approprié pour trouver la médiane et le mode d'un ensemble de valeurs pour de nombreux enregistrements ?

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.