Ho ricevuto una risposta valida e utile da gruppi di Google. Vorrei condividere con tutti voi.
Il limite non è sul numero di documenti:il limite è sulla quantità di memoria utilizzata dal risultato finale (o da un risultato intermedio).
Quindi:se aggreghi 200.000 documenti ma il risultato rientra nel risultato di 16 MB, allora sei a posto. Se aggreghi 100 documenti e il risultato non rientra in 16 MB, riceverai un errore.
Allo stesso modo, se esegui un sort() o un group() su un risultato intermedio e quell'operazione richiede più del 10% della RAM disponibile, riceverai un errore. Questo è solo vagamente correlato al numero di documenti che hai:è una funzione di quanto è grande la fase particolare della pipeline.
Il limite di 16 MB non è regolabile. Questa è la dimensione massima di un documento in MongoDB. Poiché il framework Aggregation è attualmente implementato come comando, il risultato dell'aggregazione deve essere restituito in un unico documento:da qui il limite di 16 MB.
guarda questo posta