Also der Reihe nach:
-
aggregate
ist eine Methode. Es nimmt 2 Positionsargumente (self
, die implizit übergeben wird, undpipeline
) und beliebig viele Schlüsselwörter Argumente (die alsfoo=bar
übergeben werden müssen -- wenn kein=
vorhanden ist Zeichen, es ist kein Schlüsselwortargument). Das bedeutet, dass Sieresult = work1.aggregate(pipe, allowDiskUse=True)
aufrufen müssen . -
Ihr Fehler bezüglich der maximalen Dokumentgröße ist Mongo inhärent. Mongo kann niemals ein Dokument (oder ein Array davon) zurückgeben, das größer als 16 Megabyte ist. Ich kann Ihnen nicht sagen, warum, weil Sie uns weder Ihre Daten noch Ihren Code gegeben haben, aber es bedeutet wahrscheinlich, dass das Dokument, das Sie als Endergebnis erstellen, zu groß ist. Versuchen Sie, das
$limit
zu verringern Parameter vielleicht? Beginnen Sie damit, es auf 1 zu setzen, führen Sie einen Test durch, erhöhen Sie es dann und sehen Sie sich an, wie groß das Ergebnis wird, wenn Sie das tun.