Quindi, in ordine:
-
aggregateè un metodo. Richiede 2 argomenti posizionali (self, che viene passato in modo implicito epipeline) e qualsiasi numero di parola chiave argomenti (che devono essere passati comefoo=bar-- se non c'è=sign, non è un argomento di parola chiave). Ciò significa che devi chiamareresult = work1.aggregate(pipe, allowDiskUse=True). -
Il tuo errore sulla dimensione massima del documento è inerente a Mongo. Mongo non può mai restituire un documento (o una sua matrice) di dimensioni superiori a 16 megabyte. Non posso dirti perché perché non ci hai fornito né i tuoi dati né il tuo codice, ma probabilmente significa che il documento che stai creando come risultato finale è troppo grande. Prova a ridurre il
$limitparametro, forse? Inizia impostandolo su 1, esegui un test, quindi aumentalo e osserva quanto diventa grande il risultato quando lo fai.