allowDiskUse
nie ma związku z limitem rozmiaru wyniku 16 MB. To ustawienie kontroluje, czy kroki potoku, takie jak $sort lub $group, mogą wykorzystywać tymczasowe miejsce na dysku, jeśli potrzebują więcej niż 100 MB pamięci. Teoretycznie dla dowolnego potoku może to być bardzo duża ilość miejsca na dysku. Osobiście nigdy nie stanowiło to problemu, ale to zależy od twoich danych.
Jeśli wynik ma byćwięcej niż 16MB wtedy musisz użyćetapu potoku $out aby wyprowadzić dane do kolekcji lub użyć API potoku który zwraca kursor do wyników zamiast zwracaćwszystkie dane w linii (w przypadku niektórych sterowników to jest oddzielną metodą, dla innych jest to flaga przekazana do tej samej metody).