Ich möchte aggregieren und die Ergebnisse in eine vorhandene Sammlung einfügen, ohne diese Sammlung zu löschen. Die Dokumentation scheint zu zeigen, dass dies nicht direkt möglich ist. Ich finde das schwer zu glauben.Wie das Ergebnis in einer Sammlung aggregieren und zusammenführen?
Die Map-Reduce-Funktion hat 'Ausgabemodi', einschließlich 'merge', was mir gefällt. Ich suche nach dem Äquivalent für die Aggregation.
Die neue Aggregationsstufe $out
unterstützt das Einfügen in eine Sammlung, ersetzt aber die Sammlung, anstatt sie zu aktualisieren. Wenn ich das täte, würde ich (glaube ich) eine andere Map-Reduce ausführen müssen, um diese in eine andere Sammlung zusammenzuführen, was ineffizient erscheint.
Fehle ich etwas oder fehlt nur die Funktion der Aggregationsfunktion?
Danke, habe ich die Seite (daher der Link in meiner Frage lesen) und beschrieb die Problemumgehung. Ich fragte, ob es einen anderen Mechanismus dafür gäbe. – Joe
Wenn Sie direkt in der Shell arbeiten, können Sie etwas wie die hier beschriebene Lösung betrachten http://learnmongo.com/posts/easily-move-documents-between-collections-or-databases/ aber natürlich wird dies nicht auf der Serverseite ausgeführt werden, sondern erfordert das Abrufen und erneutes Einfügen der Daten – chk
Danke, aber das würde dazu führen, Millionen von Datensätzen vor und zurück zu kopieren, die 16 MB weit übersteigt! – Joe