Se
mongod
com o reparo não está fazendo isso, então ele está executando em um nível de corrupção que não pode corrigir ou contornar em termos de ter um conjunto válido e correto de arquivos de banco de dados para inicializar. Você pode executar
mongodump
com reparo
, que é mais agressivo em termos de tentar contornar a corrupção e não está iniciando um mongod
instância (portanto, não exige que os arquivos estejam corretos para prosseguir). mongodump --repair --dbpath /var/lib/mongodb/ <other options here>
No entanto, esteja ciente de que, devido à maneira como ele tenta contornar a corrupção, você pode acabar com várias cópias de um documento. Com como
mongorestore
funciona, isso não é um problema, mas dependendo do nível de corrupção, você pode acabar com arquivos de despejo muito maiores do que o esperado. Em um caso muito extremo, uma vez vi dados 10x produzidos, embora isso fosse a exceção e não a regra. Depois de despejar tudo para sua satisfação, inicie o
mongod
limpar e reimportar para voltar a um bom estado.