MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Cosa si può fare con Mongo Aggregation / Performance of Mongo Aggregation

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