Takže v pořadí:
-
aggregate
je metoda. Vyžaduje 2 poziční argumenty (self
, který je implicitně předán, apipeline
) a libovolný počet klíčových slov argumenty (které musí být předány jakofoo=bar
-- pokud zde není=
znaménko, nejde o argument klíčového slova). To znamená, že musíte zavolatresult = work1.aggregate(pipe, allowDiskUse=True)
. -
Vaše chyba ohledně maximální velikosti dokumentu je vlastní Mongu. Mongo nikdy nemůže vrátit dokument (nebo jeho pole) větší než 16 megabajtů. Nemohu vám říci proč, protože jste nám nedali svá data ani kód, ale pravděpodobně to znamená, že dokument, který vytváříte, je příliš velký. Zkuste snížit
$limit
parametr, možná? Začněte nastavením na 1, spusťte test, poté jej zvyšte a podívejte se, jak velký bude výsledek, když to uděláte.