MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Falha no comando de reparo do MongoDB


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.