Er is hier een belangrijke vraag met betrekking tot de verwachte output. Het is niet 100% duidelijk uit uw vraag welke u wilt.
Wil je (A) :
{ _id: "document1", value: { mode: 1.0, median: 10.0 } }
{ _id: "document2", value: { mode: 5.0, median: 150.0 } }
... one for each document
... of wil je (B) , de modus en mediaan over alle combinaties van alle arrays.
- Als het antwoord (A) . is , dan zal Map/Reduce werken .
- Als het antwoord (B) . is , dan zal Map/Reduce waarschijnlijk niet werken .
Als u van plan bent om (A) . te doen , lees de M/R-documentatie aandachtig en begrijp de beperkingen. While-optie (A) kan een Map/Reduce zijn, het kan ook gewoon een grote for
. zijn lus met een upsert
op de "samenvattende" collectie of zelfs terug in de originele collectie. Dit kan nog efficiënter zijn.