MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Ist Map/Reduce geeignet, um den Median und den Modus einer Reihe von Werten für viele Datensätze zu finden?

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.