Menu Docs
Página inicial do Docs
/
Ferramentas do banco de dados MongoDB
/

Comportamento, acesso e uso do mongorestore

Nesta página

  • Comportamento
  • Acesso necessário
  • Uso na estratégia de backup
  • Saiba mais

Aviso

Despejo de dados e restauração de conflitos com prefixo $ em campos

A partir do MongoDB 5.0, os nomes dos campo do documento podem ser prefixados com um caractere de dólar ($). No entanto, mongodump e mongorestore não funcionarão com nomes de campo prefixados com um caractere de dólar nas opções de uma coleção.

O MongoDB Extended JSON (v2) não consegue diferenciar entre os wrappers de tipo e os campos que têm o mesmo nome dos wrappers de tipo. Não use formatos JSON estendidos se a representação BSON correspondente puder incluir chaves de prefixo $ . O mecanismo DBRefs é uma exceção a esta regra geral.

Ao usar mongorestore para carregar arquivos de dados criados por mongodump, as versões do MongoDB das implantações de origem e destino devem ser:

  • A mesma versão principal.

  • A mesma versão de compatibilidade do recurso.

Por exemplo, se o seu dump foi criado a partir de uma implantação do MongoDB executando a versão 4.4, a implantação do MongoDB para a qual você restaurou também deve executar a versão 4.4 ou ter seu FCV definido como 4.4.

Para alterar sua versão de compatibilidade do recurso, consulte setFeatureCompatibilityVersion.

Observação

É possível restaurar os arquivos BSON gerados no mongodump para implantações do MongoDB que estejam executando a mesma versão ou a versão mais recente da implantação de origem. No entanto, restaurar arquivos para uma implantação rodando numa versão mais recente não é a maneira recomendada de atualizar sua implantação. Para aprender a fazer upgrade de sua implantação, consulte a documentação sobre fazer upgrade.

Essa garantia não se aplica a arquivos de metadados, arquivamento ou reprodução de oplog. Se você tentar restaurar estes arquivos utilizando diferentes versões de implantação de origem e destino, o processo mongorestore poderá resultar em falha, falha silenciosa ou metadados corrompidos.

Além disso, você deve usar a mesma versão do mongorestore para carregar os arquivos de dados como a versão do mongodump usada para criá-los. Por exemplo, se você usou o mongodump versão 100.10.0 para criar o despejo, use a mongorestore versão 100.10.0 para restaurá-lo.

mongorestore pode criar um novo banco de dados de dados ou adicionar dados a um banco de banco de dados existente. No entanto, mongorestore executa apenas inserções e não executa atualizações. Se você restaurar documentos em um banco de banco de dados e coleção existentes e documentos existentes tiverem o mesmo campo de valor _id que os documentos a serem restaurados, mongorestore não substituirá esses documentos.

Por padrão, mongorestore pode inserir documentos em uma ordem aleatória. Para preservar a ordem do documento durante o processo de restauração, use --maintainInsertionOrder.

mongorestore recria índices registrados pelo mongodump após restaurar os dados.

Observação

Para instalações MongoDB com featureCompatibilityVersion (fCV) definidas como "4.0" ou anterior, a criação de índices ocorrerá um erro se uma chave de índice em um documento existente exceder o limite.

Para evitar esse problema, considere usar índices com hash ou indexar um valor calculado. Para resolver o problema de índice após restaurar os dados, você pode desabilitar a validação de comprimento da chave de índice padrão no banco de banco de dados de destino configurando o parâmetro mongod da instância do failIndexKeyTooLong para falso.

mongorestore não restaura os dados da coleção system.profile .

mongorestore cria automaticamente conexões compatíveis com FIPS para um mongod/mongos configurado para usar o modo FIPS.

Se você especificar a preocupação de gravação na opção --writeConcern e também na string de conexão --uri, o valor --writeConcern substituirá a preocupação de gravação especificada no URI da string.

A partir do MongoDB 5.0, você pode usar mongorestore para restaurar coleções de séries temporais. Para obter detalhes, consulte Restaurar uma coleção de séries temporais.

Em clusters de nível gratuito (M0) e compartilhado (M2 e M5) do Atlas, as seguintes limitações se aplicam:

  • Não é possível executar mongorestore no banco de dados admin. Por padrão, mongorestore ignora esse banco de dados. Se você usar a opção --db para configurar o banco de dados de destino para admin, o programa retornará um erro.

  • Você não pode usar as seguintes opções com o programa mongorestore:

Observação

Rollbacks de cluster de destino

Se o cluster sofrer uma reversão durante o processo de restauração, exclua todos os dados restaurados ou importados e refaça o processo desde o início. Consulte a documentação de reversão para obter mais detalhes.

Para restaurar dados para uma implantação do MongoDB que tem o controle de acesso habilitado, a função restore fornece os privilégios necessários para restaurar dados de backups se os dados não incluírem dados da coleção system.profile e você executar o mongorestore sem a opção --oplogReplay.

Se os dados de backup incluírem dados de coleçãosystem.profileou se você executar mongorestore com a opção --oplogReplay, precisará de privilégios adicionais:

system.profile

Se os dados do backup incluírem dados de coleção system.profile e o banco de dados de destino não contiver a coleção system.profile, mongorestore tentará criar a coleção mesmo que o programa não restaure documentos system.profile. Dessa forma, o usuário precisa de privilégios adicionais para realizar as ações createCollection e convertToCapped na coleção system.profile de um banco de dados.

Ambas as funções integradas dbAdmin e dbAdminAnyDatabase fornecem os privilégios adicionais.

--oplogReplay

Para executar com --oplogReplay, crie uma função definida pelo usuário que tenha anyAction em anyResource.

Conceda somente aos usuários que devem executar mongorestore com --oplogReplay.

Para uma visão geral do uso do mongorestore como parte de uma estratégia de backup e recuperação, consulte Fazer Backup e Restaurar com o MongoDB Tools.

Para usar mongodump e mongorestore como uma estratégia de backup para clusters fragmentados, consulte Fazer backup de um cluster fragmentado autogerenciado com um descarte de banco de dados.

Os clusters fragmentados também podem usar um dos seguintes processos coordenados de backup e restauração, que garantem a atomicidade entre fragmentos e, ao mesmo tempo, aceitam gravações:

Voltar

Compatibilidade e instalação