Os arquivos .ns .0 .1
etc. são os próprios arquivos de dados. Se você iniciou uma instância mongod
com um argumento --dbpath
apontando para essa pasta, ou se você moveu o conteúdo para outro lugar e usou a opção para apontar para lá, o mongod tentará lê-los normalmente.
Como seus problemas sugerem corrupção e / ou algum outro problema iniciando mongod
(você deve realmente postar os arquivos de log de mensagens de inicialização, talvez em uma pergunta separada para resolver esse problema), então há alternativas. Para referência, os problemas mais comuns são relacionados às permissões, especialmente quando as pessoas tentam iniciar o mongod manualmente (como elas próprias) ou com o sudo (como root) e criar permissões problemáticas nos vários diretórios.
Você está correto que mongorestore
não pode usar esses arquivos de dados diretamente, mas mongodump
pode lê-los e despejar dados deles nos arquivos BSON que mongorestore
espera.
A opção que você deseja aqui é dbpath . Você mencionou que seu caminho é /var/lib/mongo
, então você pode executar algo assim:
mongodump --dbpath /var/lib/mongo -d <database name> -o /path/to/put/files
Opcionalmente, você também pode usar --repair
aqui para corrigir a corrupção junto com as opções de consulta em circunstâncias extremas para contornar as seções corrompidas (raramente, ou nunca, necessárias). As várias opções estão descritas na página mongodump
:
Depois de descarregar os arquivos, você pode usar mongorestore
para reimportá-los para outra instância mongod
.