Als mongod
met reparatie het niet doet, dan loopt het tegen een niveau van corruptie aan dat het niet kan repareren of omzeilen in termen van het hebben van een geldige en correcte set databasebestanden om op te starten.
U kunt mongodump
uitvoeren met reparatie
, die agressiever is in termen van proberen de corruptie te omzeilen, en geen mongod
start instantie (vereist daarom niet dat de bestanden correct zijn om door te gaan).
mongodump --repair --dbpath /var/lib/mongodb/ <other options here>
Houd er echter rekening mee dat vanwege de manier waarop het de corruptie probeert te omzeilen, u mogelijk meerdere exemplaren van een document krijgt. Met hoe mongorestore
werkt is dit geen probleem, maar afhankelijk van de mate van corruptie kun je eindigen met dumpbestanden die veel groter zijn dan je zou verwachten. In een zeer extreem geval zag ik ooit 10x data geproduceerd, hoewel dat eerder uitzondering dan regel was.
Zodra je alles naar tevredenheid hebt gedumpt, start je mongod
opschonen en opnieuw importeren om terug te keren naar een goede staat.