Se mongod
con la riparazione non lo sta facendo, quindi sta incontrando un livello di danneggiamento che non può riparare o aggirare in termini di avere un set di file di database valido e corretto da avviare.
Puoi eseguire mongodump
con riparazione
, che è più aggressivo in termini di tentativo di aggirare la corruzione e non sta avviando un mongod
istanza (quindi non richiede che i file siano corretti per poter procedere).
mongodump --repair --dbpath /var/lib/mongodb/ <other options here>
Tieni presente, tuttavia, che a causa del modo in cui tenta di aggirare la corruzione, potresti ritrovarti con più copie di un documento. Con come mongorestore
funziona questo non è un problema, ma a seconda del livello di corruzione puoi finire con file di dump molto più grandi di quanto ti aspetteresti. In un caso molto estremo, una volta ho visto la produzione di dati 10x, sebbene quella fosse l'eccezione piuttosto che la regola.
Dopo aver scaricato tutto in modo soddisfacente, avvia mongod
pulire e reimportare per tornare a un buono stato.