allowDiskUse
не е свързано с ограничението за размер на резултата от 16MB. Тази настройка контролира дали стъпките на конвейера като $sort или $group могат да използват временно дисково пространство, ако се нуждаят от повече от 100MB памет. На теория, за произволен конвейер това може да бъде много голямо количество дисково пространство. Лично това никога не е било проблем, но това ще зависи от вашите данни.
Ако резултатът ви ще бъде повече от 16 MB, тогава трябва да използвате етапа $out на конвейера, за да изведете данните в колекция или да използвате API на конвейера, който връща курсор към резултатите, вместо да връща всички данни на линия (за някои драйвери това е отделен метод, за други това е флаг, предаван на същия метод).