Получих валиден и полезен отговор от групите в Google. Бих искал да споделя с всички вас.
Ограничението не е за броя на документите:ограничението е за количеството памет, използвано от крайния резултат (или междинен резултат).
Така че:ако съберете 200 000 документа, но резултатът се вписва в резултата от 16 MB, тогава всичко е наред. Ако обедините 100 документа и резултатът не се побира в 16 MB, тогава ще получите грешка.
По същия начин, ако направите sort() или group() на междинен резултат и тази операция се нуждае от повече от 10% от наличната RAM, тогава ще получите грешка. Това е само слабо свързано с това колко документи имате:това е функция от това колко голям е конкретният етап от конвейера.
Ограничението от 16 MB не може да се регулира. Това е максималният размер на документ в MongoDB. Тъй като рамката за агрегиране в момента е внедрена като команда, резултатът от агрегирането трябва да бъде върнат в един документ:оттук и ограничението от 16 MB.
вижте това публикация