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

Was kann mit Mongo Aggregation gemacht werden / Performance von Mongo Aggregation

Ich habe gültige und hilfreiche Antworten von Google Groups erhalten. Möchte mit euch allen teilen.

Die Begrenzung bezieht sich nicht auf die Anzahl der Dokumente, sondern auf die Speichermenge, die vom Endergebnis (oder einem Zwischenergebnis) verwendet wird.

Also:Wenn Sie 200.000 Dokumente aggregieren, aber das Ergebnis in das 16-MB-Ergebnis passt, dann ist alles in Ordnung. Wenn Sie 100 Dokumente aggregieren und das Ergebnis nicht in 16 MB passt, erhalten Sie eine Fehlermeldung.

Wenn Sie auf ähnliche Weise sort() oder group() für ein Zwischenergebnis ausführen und diese Operation mehr als 10 % des verfügbaren RAM benötigt, erhalten Sie eine Fehlermeldung. Dies hängt nur lose davon ab, wie viele Dokumente Sie haben:Es hängt davon ab, wie groß die jeweilige Stufe der Pipeline ist.

Die 16 MB-Grenze ist nicht einstellbar. Dies ist die maximale Größe eines Dokuments in MongoDB. Da das Aggregations-Framework derzeit als Befehl implementiert ist, muss das Ergebnis der Aggregation in einem einzigen Dokument zurückgegeben werden:daher die 16-MB-Grenze.

siehe diesen posten