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
$limit
parametro, forse? Inizia impostandolo su 1, esegui un test, quindi aumentalo e osserva quanto diventa grande il risultato quando lo fai.