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

AllowDiskUse:True funktioniert nicht mit Pymongo

Also der Reihe nach:

  • aggregate ist eine Methode. Es nimmt 2 Positionsargumente (self , die implizit übergeben wird, und pipeline ) und beliebig viele Schlüsselwörter Argumente (die als foo=bar übergeben werden müssen -- wenn kein = vorhanden ist Zeichen, es ist kein Schlüsselwortargument). Das bedeutet, dass Sie result = 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.