Es gibt hier eine Schlüsselfrage bezüglich der erwarteten Ausgabe. Aus deiner Frage geht nicht 100 % hervor, welche du möchtest.
Möchten Sie (A) :
{ _id: "document1", value: { mode: 1.0, median: 10.0 } }
{ _id: "document2", value: { mode: 5.0, median: 150.0 } }
... one for each document
... oder willst du (B) , der Modus und der Median über die gesamte Kombination aller Arrays.
- Wenn die Antwort (A) ist , dann wird Map/Reduce funktionieren .
- Wenn die Antwort (B) ist , dann wird Map/Reduce wahrscheinlich nicht funktionieren .
Wenn Sie vorhaben, (A) zu tun , lesen Sie bitte die M/R-Dokumentation sorgfältig durch und machen Sie sich mit den Einschränkungen vertraut. Während Option (A) kann ein Map/Reduce sein, es kann auch nur ein großer for
sein Schleife mit einem upsert
auf die "zusammenfassende" Sammlung oder sogar zurück in die ursprüngliche Sammlung. Dies kann sogar noch effizienter sein.