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

Mongo-Aggregation und MongoError:Ausnahme:BufBuilder hat versucht zu wachsen() auf 134217728 Bytes, über die 64-MB-Grenze hinaus

Aggregate gibt ein einzelnes Dokument zurück, das alle Ergebnisdaten enthält, wodurch die Menge an Daten, die auf die maximale BSON-Dokumentgröße zurückgegeben werden können, begrenzt wird.

Angenommen, Sie möchten all diese Daten tatsächlich haben, gibt es zwei Möglichkeiten:

  • Verwenden Sie aggregateCursor statt aggregate . Dies gibt einen Cursor anstelle eines einzelnen Dokuments zurück, über das Sie dann iterieren können
  • fügen Sie einen $out Phase als letzte Phase Ihrer Pipeline. Dies weist mongodb an, Ihre Aggregationsdaten in die angegebene Sammlung zu schreiben. Der Aggregatbefehl selbst gibt keine Daten zurück und Sie fragen diese Sammlung dann wie jede andere ab.