sql >> Database teknologi >  >> NoSQL >> MongoDB

MongoDB reparationskommando mislykkedes

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.




  1. Automatiser tjek af databasekonfiguration

  2. Postgres 9.4 jsonb forespørger på grundlæggende operatører

  3. Hent data fra mongoDB og Nodejs:toArray er ikke en funktionsfejl

  4. sikreIndex i mongodb