Não há uma resposta limpa para isso, pois você está fazendo algo muito pesado, mas a solução alternativa está disponível
ulimit
é um comando em unix/linux que permite definir os limites do sistema para todas as propriedades. no seu caso você precisa aumentar max. não. de arquivos abertos contar ou torná-lo ilimitado no lado mais seguro (também é recomendado pelo MongoDB)
ulimit -n <large value in your case 1000000>
or
sysctl -w fs.file-max=1000000
and
/etc/security/limits.conf or /etc/sysctl.conf:
change
fs.file-max = 1000000