Så, i ordning:
-
aggregate
är en metod. Det krävs 2 positionsargument (self
, som är implicit skickad, ochpipeline
) och valfritt antal sökord argument (som måste skickas somfoo=bar
-- om det inte finns någon=
tecken, det är inte ett nyckelordsargument). Det betyder att du måste anroparesult = work1.aggregate(pipe, allowDiskUse=True)
. -
Ditt fel om maximal dokumentstorlek är inneboende i Mongo. Mongo kan aldrig returnera ett dokument (eller array därav) som är större än 16 megabyte. Jag kan inte säga dig varför eftersom du varken har gett oss din data eller din kod, men det betyder förmodligen att dokumentet du bygger som slutresultat är för stort. Försök att minska
$limit
parameter kanske? Börja med att ställa in den på 1, kör ett test, öka den och titta på hur stort resultatet blir när du gör det.