Hvis mongod
med reparation ikke gør det, så løber det ind i et niveau af korruption, som det ikke kan rette eller omgå med hensyn til at have et gyldigt og korrekt sæt databasefiler til at starte op.
Du kan køre mongodump
med reparation
, som er mere aggressiv med hensyn til at forsøge at omgå korruptionen, og som ikke starter en mongod
instans (kræver derfor ikke, at filerne er korrekte for at fortsætte).
mongodump --repair --dbpath /var/lib/mongodb/ <other options here>
Vær dog opmærksom på, at på grund af den måde, den forsøger at lede rundt om korruptionen, kan du ende op med flere kopier af et dokument. Med hvordan mongorestore
virker dette er ikke et problem, men afhængigt af korruptionsniveauet kan du ende med dumpfiler langt større end du ville forvente. I et meget ekstremt tilfælde så jeg engang 10x data produceret, selvom det var undtagelsen snarere end reglen.
Når du har dumpet alt ud til din tilfredshed, start mongod
rengøre og genimportere for at komme tilbage til en god tilstand.