Jeg fik et gyldigt og nyttigt svar fra Google-grupper. Vil gerne dele med jer alle.
Begrænsningen er ikke på antallet af dokumenter:Begrænsningen er på mængden af hukommelse, der bruges af det endelige resultat (eller et mellemresultat).
Så:hvis du samler 200 000 dokumenter, men resultatet passer ind i resultatet på 16 MB, så har du det fint. Hvis du samler 100 dokumenter, og resultatet ikke passer ind i 16 MB, får du en fejlmeddelelse.
På samme måde, hvis du laver en sort() eller en gruppe() på et mellemresultat, og den operation kræver mere end 10 % af tilgængelig RAM, får du en fejl. Dette er kun løst relateret til, hvor mange dokumenter du har:det er en funktion af, hvor stor den særlige fase af pipelinen er.
Grænsen på 16 MB kan ikke justeres. Dette er den maksimale størrelse af et dokument i MongoDB. Da aggregeringsrammen i øjeblikket er implementeret som en kommando, skal resultatet fra aggregeringen returneres i et enkelt dokument:deraf grænsen på 16 MB.
se denne indlæg