NB: Esta solução funciona/pode não funcionar com Mac OSs recentes (os comentários indicam>10.13?). Aparentemente, as alterações foram feitas para fins de segurança.
Conceitualmente, a solução se aplica - a seguir estão algumas fontes de discussão:
- https://wilsonmar.github.io/maximum-limits/
- https://gist.github.com/tombigel/d503800a282fcadbee14b537735d202c
- https://superuser.com/questions/433746/is-there-a-fix-for-the-too-many-open-files-in-system-error-on-os-x-10-7 -1
--
Eu tive o mesmo problema (executando uma operação diferente, mas ainda assim, um erro "Muitos arquivos abertos") e, como diz lese, parece estar no limite de 'maxfiles' na máquina que executa o mongod.
Em um mac, é melhor verificar os limites com:
sudo launchctl limit
Isso lhe dá:
<limit name> <soft limit> <hard limit>
cpu unlimited unlimited
filesize unlimited unlimited
data unlimited unlimited
stack 8388608 67104768
core 0 unlimited
rss unlimited unlimited
memlock unlimited unlimited
maxproc 709 1064
maxfiles 1024 2048
O que fiz para contornar o problema foi definir temporariamente o limite mais alto (o meu era originalmente algo como soft:256, hard:1000 ou algo estranho assim):
sudo launchctl limit maxfiles 1024 2048
Em seguida, execute novamente a operação de consulta/indexação e veja se ela quebra. Caso contrário, e para manter os limites mais altos (eles serão redefinidos quando você sair da sessão do shell em que os configurou), crie um arquivo '/etc/launchd.conf' com a seguinte linha:
limit maxfiles 1024 2048
(ou adicione essa linha ao seu arquivo launchd.conf existente, se você já tiver um).
Isso definirá o maxfile via launchctl em cada shell no login.