allowDiskUse
16MBの結果サイズ制限とは関係ありません。この設定は、$sortや$groupなどのパイプラインステップが100MBを超えるメモリを必要とする場合に、一時ディスクスペースを使用できるかどうかを制御します。理論的には、任意のパイプラインの場合、これは非常に大量のディスクスペースになる可能性があります。個人的には問題になることはありませんが、それはあなたのデータにかかっています。
結果が16MBを超える場合は、$ outパイプラインステージを使用してデータをコレクションに出力するか、すべてのデータをインラインで返すのではなく、結果にカーソルを返すパイプラインAPIを使用する必要があります(一部のドライバーの場合、は別のメソッドであり、他のメソッドでは同じメソッドに渡されるフラグです。