И така, по ред:
-
aggregate
е метод. Необходими са 2 позиционни аргумента (self
, който се предава имплицитно, иpipeline
) и произволен брой ключови думи аргументи (които трябва да се предават катоfoo=bar
-- ако няма=
знак, това не е аргумент за ключова дума). Това означава, че трябва да извикатеresult = work1.aggregate(pipe, allowDiskUse=True)
. -
Вашата грешка относно максималния размер на документа е присъща на Mongo. Mongo никога не може да върне документ (или масив от тях) по-голям от 16 мегабайта. Не мога да ви кажа защо, защото не сте ни предоставили нито вашите данни, нито вашия код, но това вероятно означава, че документът, който изграждате като краен резултат, е твърде голям. Опитайте да намалите
$limit
параметър, може би? Започнете, като го зададете на 1, стартирайте тест, след това го увеличете и вижте колко голям става резултатът, когато го направите.