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

mongorestore

Nesta página

  • Synopsis
  • Sintaxe
  • Opções
  • Saiba mais

Esta documentação é para a versão 100.10.0 de mongorestore.

O programa mongorestore carrega dados de um despejo de banco de dados binário criado pelo mongodump ou da entrada padrão em uma instância mongod ou mongos.

Você pode restaurar os arquivos BSON gerados a partir do mongodump em MongoDB executando a mesma versão principal ou versão de versão de compatibilidade do recurso que o sistema de origem.

Execute mongorestore na linha de comando do sistema, não no shell mongo.

Dica

Veja também:

mongodump, que dá a capacidade correspondente de exportar dados binários.

O MongoDB não consegue executar simultaneamente vários programas mongorestore para a mesma coleção.

Você pode usar o MongoDB Database Tools para migrar de uma implantação auto-hospedada para o MongoDB Atlas. MongoDB Atlas é o serviço totalmente gerenciado para implantações do MongoDB na nuvem. Para saber mais, consulte Seed com mongorestore.

Para saber todas as maneiras de migrar para o MongoDB Atlas, consulte Migrar ou importar dados.

mongorestore sintaxe:

mongorestore <options> <connection-string> <directory or file to restore>

Por exemplo, para restaurar de um diretório dump para uma instância mongod local em execução na porta 27017:

mongorestore dump/

À medida que o mongorestore é restaurado a partir do diretório dump/, ele cria o banco de dados e as collection conforme necessário e registra seu progresso:

2019-07-08T14:37:38.942-0400 preparing collections to restore from
2019-07-08T14:37:38.944-0400 reading metadata for test.bakesales from dump/test/bakesales.metadata.json
2019-07-08T14:37:38.944-0400 reading metadata for test.salaries from dump/test/salaries.metadata.json
2019-07-08T14:37:38.976-0400 restoring test.salaries from dump/test/salaries.bson
2019-07-08T14:37:38.985-0400 no indexes to restore
2019-07-08T14:37:38.985-0400 finished restoring test.salaries (10 documents, 0 failures)
2019-07-08T14:37:39.009-0400 restoring test.bakesales from dump/test/bakesales.bson
2019-07-08T14:37:39.011-0400 restoring indexes for collection test.bakesales from metadata
2019-07-08T14:37:39.118-0400 finished restoring test.bakesales (21 documents, 0 failures)
2019-07-08T14:37:39.118-0400 restoring users from dump/admin/system.users.bson
2019-07-08T14:37:39.163-0400 restoring roles from dump/admin/system.roles.bson
2019-07-08T14:37:39.249-0400 31 document(s) restored successfully. 0 document(s) failed to restore.

Você também pode restaurar uma collection ou collections específicas a partir do diretório dump/. Por exemplo, a seguinte operação restaura uma única collection de arquivos de dados correspondentes no diretório dump/:

mongorestore --nsInclude=test.purchaseorders dump/

Se o diretório dump/ não contiver o arquivo de dados correspondente para o namespace especificado, nenhum dado será restaurado. Por exemplo, o seguinte especifica um namespace da collection que não tem dados correspondentes no diretório dump/:

mongorestore --nsInclude=foo.bar dump/

O mongorestore gera as seguintes mensagens:

2019-07-08T14:38:15.142-0400 preparing collections to restore from
2019-07-08T14:38:15.142-0400 0 document(s) restored successfully. 0 document(s) failed to restore.

Para obter mais exemplos, consulte Exemplos de mongorestore.

--help

Retorna informações sobre as opções e uso de mongorestore.

--verbose, -v

Aumenta a quantidade de relatórios internos retornados no resultado padrão ou em arquivos de registro. Aumente a verbosidade com o formulário -v incluindo a opção várias vezes (por exemplo, -vvvvv.)

--quiet

Executa mongorestore em um modo silencioso que tenta limitar a quantidade de resultado.

Esta opção suprime:

  • saída de comandos do banco de dados

  • atividade de replicação

  • eventos aceitos de conexão

  • eventos fechados de conexão

--version

Retorna o número de versão mongorestore.

--config=<filename>

Novidades na versão 100.3.0.

Especifica o caminho completo para um arquivo de configuração YAML contendo valores sensíveis para as seguintes opções para mongorestore:

Esta é a maneira recomendada de especificar uma senha para mongorestore, além de especificá-la por meio de um prompt de senha.

O arquivo de configuração recebe o seguinte formulário:

password: <password>
uri: mongodb://mongodb0.example.com:27017
sslPEMKeyPassword: <password>

Especificar uma senha para o campo password: e fornecer uma cadeia de conexão no campo uri: que contém uma senha conflitante resultará em um erro.

Certifique-se de proteger este arquivo com permissões de sistema de arquivos apropriadas.

Observação

Se você especificar um arquivo de configuração com --config e também usar a opção --password, --uri ou --sslPEMKeyPassword para mongorestore, cada opção de linha de comando, substituirá a opção correspondente no arquivo de configuração.

--uri=<connectionString>

Especifica a string de conexão resolvível da implantação do MongoDB, entre aspas:

--uri="mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]"

A partir da versão 100.0 do mongorestore, a string de conexão pode ser fornecida como um parâmetro posicional, sem usar a opção --uri:

mongorestore mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]

Como parâmetro posicional, a connection string pode ser especificada em qualquer ponto da linha de comando, desde que comece com mongodb:// ou mongodb+srv://. Por exemplo:

mongorestore --username joe --password secret1 mongodb://mongodb0.example.com:27017 --ssl

Somente uma string de conexão pode ser fornecida. A tentativa de incluir mais de uma, seja usando a opção --uri ou como um argumento posicional, resultará em um erro.

Para obter informações sobre os componentes da string de conexão, consulte a documentação Formato de URI da string de conexão .

Observação

Como alternativa, alguns componentes na connection string podem ser especificados usando suas próprias opções explícitas de linha de comando, como --username e --password. Fornecer uma string de conexão e, ao mesmo tempo, usar uma opção explícita e especificar informações conflitantes resultará em um erro.

Observação

Se estiver usando mongorestore no Ubuntu 18.04, você poderá ver uma mensagem de erro cannot unmarshal DNS ao usar strings de conexão SRV (no formato mongodb+srv://) com a opção --uri. Nesse caso, use uma das seguintes opções:

Aviso

Em alguns sistemas, uma senha fornecida em uma string de conexão com a opção --uri pode ser visível para programas de status do sistema como ps que podem ser invocados por outros usuários. Em vez disso, considere:

  • omitindo a senha na cadeia de conexão para receber um prompt de senha interativo , ou

  • utilizando a opção --config para especificar um arquivo de configuração que contém a senha.

--host=<hostname><:port>, -h=<hostname><:port>

Padrão: localhost:27017

Especifica o nome de host resolvível do sistema MongoDB. Por padrão, mongorestore tenta se conectar a uma instância do MongoDB em execução no host local na porta número 27017.

Para se conectar a um conjunto de réplicas, especifique o replSetName e uma lista de sementes de nós do conjunto, como a seguir:

--host=<replSetName>/<hostname1><:port>,<hostname2><:port>,<...>

Ao definir o formato da lista de conjuntos de réplicas, mongorestore sempre se conecta ao primário.

Você também pode se conectar a qualquer membro da réplica definida especificando o host e a porta de apenas esse membro:

--host=<hostname1><:port>

Se você usar IPv6 e o formato <address>:<port>, deverá incluir a parte de uma combinação de endereço e porta entre colchetes (por exemplo, [<address>]).

Outra opção é especificar o nome do host diretamente no URI connection string. Fornecer uma string de conexão ao mesmo tempo em que usa --host e especificar informações conflitantes resultará em um erro.

--port=<port>

Padrão: 27017

Especifica a porta TCP na qual a instância do MongoDB escuta conexões de cliente.

Alternativamente, você também pode especificar a porta diretamente no URI connection string. Fornecer uma string de conexão ao mesmo tempo em que usa --port e especificar informações conflitantes resultará em um erro.

--ssl

Habilita a conexão com um mongod ou mongos que tenha suporte a TLS/SSL habilitado.

Alternativamente, você também pode configurar o suporte de TLS/SSL diretamente no URI connection string. Fornecer uma string de conexão ao mesmo tempo em que usa --ssl e especificar informações conflitantes resultará em um erro.

Para obter mais informações sobre TLS/SSL e MongoDB, consulte Configurar mongod e mongos para TLS/SSL e Configuração TLS/SSL para clientes.

--sslCAFile=<filename>

Especifica o arquivo .pem que contém a sequência de certificados raiz da autoridade de certificação. Especifique o nome do arquivo .pem usando caminhos relativos ou absolutos.

Como alternativa, você também pode especificar o arquivo .pem diretamente no URI connection string. Fornecer uma string de conexão e, ao mesmo tempo, usar --sslCAFile e especificar informações conflitantes resultará em um erro.

Para obter mais informações sobre TLS/SSL e MongoDB, consulte Configurar mongod e mongos para TLS/SSL e Configuração TLS/SSL para clientes.

--sslPEMKeyFile=<filename>

Especifica o arquivo .pem que contém o certificado e a chave TLS/SSL. Especifique o nome do arquivo .pem usando caminhos relativos ou absolutos.

Esta opção é exigida ao utilizar a opção --ssl para conectar a um mongod ou mongos que tenha CAFile habilitado sem allowConnectionsWithoutCertificates.

Como alternativa, você também pode especificar o arquivo .pem diretamente no URI connection string. Fornecer uma string de conexão e, ao mesmo tempo, usar --sslPEMKeyFile e especificar informações conflitantes resultará em um erro.

Para obter mais informações sobre TLS/SSL e MongoDB, consulte Configurar mongod e mongos para TLS/SSL e Configuração TLS/SSL para clientes.

--sslPEMKeyPassword=<value>

Especifica a senha para descriptografar o arquivo de chave de certificado (ou seja, --sslPEMKeyFile). Utilize a opção --sslPEMKeyPassword somente se o arquivo da chave de certificado for criptografado. Em todos os casos, o mongorestore eliminará a senha de todas as saídas de log e relatórios.

Se a chave privada no arquivo PEM estiver criptografada e você não especificar a opção --sslPEMKeyPassword, o mongorestore solicitará uma senha. Consulte a página Senha do Certificado TLS/SSL.

Como alternativa, você também pode especificar a senha diretamente no URI connection string. Fornecer uma string de conexão ao mesmo tempo em que usa --sslPEMKeyPassword e especificar informações conflitantes resultará em um erro.

Para obter mais informações sobre TLS/SSL e MongoDB, consulte Configurar mongod e mongos para TLS/SSL e Configuração TLS/SSL para clientes.

Aviso

Em alguns sistemas, uma senha fornecida diretamente utilizando a opção --sslPEMKeyPassword pode ser visível para programas de status do sistema como ps que podem ser invocados por outros usuários. Considere utilizar a opção --config para especificar um arquivo de configuração contendo a senha.

--sslCRLFile=<filename>

Especifica o arquivo .pem que contém a lista de certificados revogados. Especifique o nome do arquivo .pem usando caminhos relativos ou absolutos.

Para obter mais informações sobre TLS/SSL e MongoDB, consulte Configurar mongod e mongos para TLS/SSL e Configuração TLS/SSL para clientes.

--sslAllowInvalidCertificates

Ignora as verificações de validação de certificados de servidor e permite o uso de certificados inválidos. Ao usar a configuração allowInvalidCertificates , o MongoDB registra como aviso o uso do certificado inválido.

Aviso

Embora disponível, evite utilizar a opção --sslAllowInvalidCertificates se possível. Se o uso do --sslAllowInvalidCertificates for necessário, use a opção somente em sistemas em que a intrusão não seja possível.

Conectar-se a uma instância mongod ou mongos sem validar os certificados do servidor é um risco potencial à segurança. Se você só precisar desabilitar a validação do nome de host nos certificados TLS/SSL, consulte --sslAllowInvalidHostnames.

Como alternativa, você também pode desativar a validação do certificado diretamente no URI connection string. Fornecer uma string de conexão e, ao mesmo tempo, usar --sslAllowInvalidCertificates e especificar informações conflitantes resultará em um erro.

Para obter mais informações sobre TLS/SSL e MongoDB, consulte Configurar mongod e mongos para TLS/SSL e Configuração TLS/SSL para clientes.

--sslAllowInvalidHostnames

Desabilita a validação dos nomes de host em certificados TLS/SSL. Permite que o mongorestore se conecte às instâncias do MongoDB mesmo que o nome do host em seus certificados não corresponda ao nome de host especificado.

Outra opção é desabilitar a validação do nome de host diretamente no URI connection string. Fornecer uma string de conexão ao mesmo tempo em que usa --sslAllowInvalidHostnames e especificar informações conflitantes resultará em um erro.

Para obter mais informações sobre TLS/SSL e MongoDB, consulte Configurar mongod e mongos para TLS/SSL e Configuração TLS/SSL para clientes.

--username=<username>, -u=<username>

Especifica um nome de usuário com o qual autenticar em um banco de dados MongoDB que usa autenticação. Utilize em conjunto com as opções --password e --authenticationDatabase.

Alternativamente, você também pode especificar o nome de usuário diretamente no URI connection string. Fornecer uma string de conexão ao mesmo tempo em que usa --username e especificar informações conflitantes resultará em um erro.

Se estiver se conectando a um cluster do MongoDB Atlas usando o MONGODB-AWS authentication mechanism, você pode especificar seu ID de chave de acesso da AWS em:

Consulte Conecte-se a um cluster do MongoDB Atlas usando as credenciais AWS IAM para ver um exemplo de cada um.

--password=<password>, -p=<password>

Especifica uma senha com a qual autenticar em um MongoDB database que usa autenticação. Utilize em conjunto com as opções --username e --authenticationDatabase.

Para solicitar a senha ao usuário, passe a opção --username sem --password ou especifique uma string vazia como o valor --password, como em --password="".

Como alternativa, você também pode especificar a senha diretamente no URI connection string. Fornecer uma string de conexão ao mesmo tempo em que usa --password e especificar informações conflitantes resultará em um erro.

Se estiver se conectando a um cluster do MongoDB Atlas usando o MONGODB-AWS authentication mechanism, você pode especificar sua chave de acesso secreta da AWS em:

Consulte Conecte-se a um cluster do MongoDB Atlas usando as credenciais AWS IAM para ver um exemplo de cada um.

Aviso

Em alguns sistemas, uma senha fornecida diretamente utilizando a opção --password pode ser visível para programas de status do sistema como ps que podem ser invocados por outros usuários. Em vez disso, considere:

  • omitindo a opção --password para receber uma solicitação de senha interativa, ou

  • utilizando a opção --config para especificar um arquivo de configuração que contém a senha.

--awsSessionToken=<AWS Session Token>

Se você se conectar a um cluster do MongoDB Atlas usando o MONGODB-AWS authentication mechanism e usando tokens de sessão além do ID da chave de acesso Amazon Web Services e da chave de acesso do secret do Kubernetes, você poderá especificar o token da sessão da Amazon Web Services em:

Consulte Conecte-se a um cluster do MongoDB Atlas usando as credenciais AWS IAM para ver um exemplo de cada um.

Válido somente ao utilizar o MONGODB-AWS authentication mechanism.

--authenticationDatabase=<dbname>

Especifica o banco de dados de autenticação onde o --username especificado foi criado. Consulte Banco de dados de autenticação.

Se estiver usando o GSSAPI (Kerberos), PLAIN (LDAP SASL) ou MONGODB-AWS authentication mechanisms, você deverá definir --authenticationDatabase como $external.

Como alternativa, você também pode especificar o banco de dados de autenticação diretamente no URI connection string. Fornecer uma string de conexão ao mesmo tempo em que usa --authenticationDatabase e especificar informações conflitantes resultará em um erro.

--authenticationMechanism=<name>

Padrão: SCRAM-SHA-1

Especifica o mecanismo de autenticação que a instância do mongorestore utiliza para autenticar no mongod ou mongos.

Alterado na versão 100.1.0: A partir da versão 100.1.0, o mongorestore adiciona suporte ao mecanismo de autenticação MONGODB-AWS ao se conectar a um cluster do MongoDB Atlas.

Valor
Descrição
RFC 5802 Mecanismo de Autenticação de Resposta de Desafio Salted padrão usando a função de hash SHA-1.

RFC 7677 Mecanismo de Autenticação de Resposta de Desafio Salted padrão usando a função de hash SHA-256.

Exige featureCompatibilityVersion definido para 4.0.

Autenticação de certificado TLS/SSL do MongoDB.
MONGODB-AWS

Autenticação externa usando credenciais da AWS IAM para uso na conexão com um cluster do MongoDB Atlas. Consulte Conectar-se a um cluster do MongoDB Atlas usando Credenciais AWS IAM.

Novidades na versão 100.1.0.

GSSAPI (Kerberos)
Autenticação externa usando Kerberos. Esse mecanismo está disponível somente no MongoDB Enterprise.
PLAIN (LDAP SASL)
Autenticação externa usando LDAP. Você também pode utilizar o PLAIN para autenticar usuários do banco de dados. PLAIN transmite senhas em texto simples. Esse mecanismo está disponível apenas no MongoDB Enterprise.

Alternativamente, você também pode especificar o mecanismo de autenticação diretamente no URI connection string. Fornecer uma string de conexão ao mesmo tempo em que usa --authenticationMechanism e especificar informações conflitantes resultará em um erro.

--gssapiServiceName=<serviceName>

Especifique o nome do serviço utilizando GSSAPI/Kerberos. Obrigatório apenas se o serviço não usar o nome padrão mongodb.

Esta opção está disponível apenas no MongoDB Enterprise.

--gssapiHostName=<hostname>

Especifique o nome de host de um serviço utilizando GSSAPI/Kerberos. Somente necessário se o nome de host de uma máquina não corresponder ao nome de host resolvido pelo DNS.

Esta opção está disponível apenas no MongoDB Enterprise.

--db=<database>, -d=<database>

Especifica o banco de dados de destino para mongorestore restaurar dados ao restaurar a partir de um arquivo BSON. Se o banco de dados não existir, o mongorestore criará o banco de dados. Por exemplo, o seguinte exemplo restaura a coleção salaries no banco de dados reporting.

mongorestore --db=reporting dump/test/salaries.bson

Se você não especificar --db, o mongorestore lerá o nome do banco de dados a partir dos arquivos de dados.

O uso das opções --db e --collection é preterido ao restaurar a partir de um diretório ou arquivo compactado. Em vez disso, para restaurar a partir de um arquivo ou de um diretório, consulte --nsInclude em vez disso.

Alternativamente, você também pode especificar o banco de dados diretamente no URI connection string. Fornecer uma string de conexão ao mesmo tempo em que usa --db e especificar informações conflitantes resultará em um erro.

--collection=<collection>, -c=<collection>

Especifica o nome da collection de destino do mongorestore para restaurar dados ao realizar restaurações a partir de um arquivo BSON. Se você não especificar --collection, mongorestore usará o nome da coleção do nome do arquivo de entrada. Se o arquivo de entrada tiver uma extensão, o MongoDB a omitirá do nome da collection.

mongorestore --db=reporting --collection=employeesalaries dump/test/salaries.bson

O uso das opções --db e --collection é preterido ao restaurar a partir de um diretório ou arquivo compactado. Em vez disso, para restaurar a partir de um arquivo ou de um diretório, consulte --nsInclude em vez disso.

--nsExclude=<namespace pattern>

Especifica um padrão de namespace (por exemplo "test.myCollection", "reporting.*", "dept*.bar") para excluir os namespaces correspondentes da restauração. No padrão, você pode utilizar asteriscos * como curingas. Para obter um exemplo do padrão curinga, consulte Restaurar collections usando curingas.

Você pode especificar --nsExclude várias vezes para excluir vários padrões de namespace.

--nsInclude=<namespace pattern>

Especifica um padrão de namespace (por exemplo "test.myCollection", "reporting.*", "dept*.bar") para restaurar apenas os namespaces que correspondem ao padrão. No padrão, você pode utilizar asteriscos * como curingas. Para obter um exemplo do padrão curinga, consulte Restaurar collections usando curingas.

Você pode especificar --nsInclude várias vezes para incluir múltiplos padrões de namespace.

Se o diretório ou arquivo de origem (ou seja, o diretório/arquivo do qual você está restaurando os dados) não contiver arquivos de dados que correspondam ao padrão de namespace, nenhum dado será restaurado.

Para nomes de coleção que contêm caracteres não-ascii, o mongodump gera os nomes de arquivo correspondentes com nomes codificados por porcentagem. No entanto, para restaurar essas coleções, não use os nomes codificados. Em vez disso, use o namespace com caracteres não-ascii.

Por exemplo, se o diretório de despejo contiver dump/test/caf%C3%A9s.bson, especifique --nsInclude "test.cafés".

--nsFrom=<namespace pattern>

Utilize com --nsTo para renomear um namespace durante a operação de restauração. O --nsFrom especifica a collection no arquivo de despejo, enquanto o --nsTo especifica o nome que deve ser utilizado no banco de dados restaurado.

--nsFrom aceita um padrão de namespace como argumento. O padrão de namespace permite que --nsFrom referencie qualquer namespace que corresponda ao padrão especificado. mongorestore corresponde à menor ocorrência válida do padrão de namespace.

Para substituições simples, use asteriscos (*) como curingas. Evite todos os asteriscos literais e barras invertidas com uma barra invertida. As substituições correspondem linearmente às correspondências: cada asterisco em --nsFrom deve corresponder a um asterisco em --nsTo, e o primeiro asterisco em --nsFrom corresponde ao primeiro asterisco em nsTo.

Para substituições mais complexas, use cifrões para delimitar uma variável "curinga" a ser usada na substituição. Alterar Namespaces de Coleção Durante a Restauração fornece um exemplo de substituições complexas com curingas delimitados por cifrão.

Ao contrário das substituições com asteriscos, as substituições com curingas delimitados por cifrões não precisam ser lineares.

--nsTo=<namespace pattern>

Utilize com --nsFrom para renomear um namespace durante a operação de restauração. --nsTo especifica o novo nome da coleção a ser usado no banco de dados restaurado, enquanto --nsFrom especifica o nome no arquivo de despejo.

--nsTo aceita um padrão de namespace como argumento. O padrão de namespace permite que --nsTo referencie qualquer namespace que corresponda ao padrão especificado. mongorestore corresponde à menor ocorrência válida do padrão de namespace.

Para substituições simples, use asteriscos (*) como curingas. Evite todos os asteriscos literais e barras invertidas com uma barra invertida. As substituições correspondem linearmente às correspondências: cada asterisco em --nsFrom deve corresponder a um asterisco em --nsTo, e o primeiro asterisco em --nsFrom corresponde ao primeiro asterisco em nsTo.

Para substituições mais complexas, use cifrões para delimitar uma variável "curinga" a ser usada na substituição. Alterar Namespaces de Coleção Durante a Restauração fornece um exemplo de substituições complexas com curingas delimitados por cifrão.

Ao contrário das substituições com asteriscos, as substituições com curingas delimitados por cifrões não precisam ser lineares.

--objcheck

Força mongorestore a validar todas as solicitações de clientes após o recebimento para garantir que os clientes nunca insiram documentos inválidos no banco de dados. Para objetos com um alto grau de aninhamento de subdocumentos, --objcheck pode ter um pequeno impacto no desempenho.

--drop

Antes de restaurar as coleções a partir do backup despejado, elimine as coleções do banco de dados de destino. --drop não descarta coleções que não estão no backup.

Quando a restauração inclui o banco de dados admin , mongorestore com --drop remove todas as credenciais de usuário e as substitui pelos usuários definidos no arquivo de despejo. Portanto, em sistemas com authorization habilitado, o mongorestore deve ser capaz de autenticar para um usuário existente e para um usuário definido no arquivo de despejo. Se o mongorestore não puder autenticar para um usuário definido no arquivo de despejo, o processo de restauração falhará, deixando um banco de dados vazio.

Se uma coleção for descartada e recriada como parte da restauração, a coleção recém-criada terá um UUID diferente a menos que o --drop seja utilizado com --preserveUUID.

--preserveUUID

As coleções restauradas usam o UUID a partir dos dados de restauração em vez de criar um novo UUID para as coleções que são descartadas e recriadas como parte da restauração.

Para usar --preserveUUID, você também deve incluir a opção --drop .

--dryRun

Executa o mongorestore sem realmente importar quaisquer dados, devolvendo as informações resumidas do mongorestore. Utilize com --verbose para produzir informações resumidas mais detalhadas.

--oplogReplay

Depois de restaurar o despejo do banco de dados, reproduz as entradas oplog de um arquivo oplog.bson.

Para aplicar entradas de oplog do arquivo oplog.bson na restauração, use mongorestore --oplogReplay. Você pode usar mongodump --oplog com mongorestore --oplogReplay para garantir que os dados estejam atuais e tenham todas as gravações que ocorreram durante a operação de despejo.

mongorestore procura qualquer fonte válida para o arquivo bson nos seguintes locais:

  • O nível superior do diretório de despejo, como no caso de um despejo criado com mongodump --oplog.

  • O caminho especificado por --oplogFile.

  • <dump-directory>/local/oplog.rs.bson, como no caso de um despejo da oplog.rs coleção local do em um que é um nó de um conjunto de mongod réplicas.

Se houver um arquivo oplog.bson no nível superior do diretório de despejo e um caminho especificado por --oplogFile, mongorestore retornará um erro.

Se houver um arquivo oplog.bson no nível superior do diretório de despejo, o mongorestore restaura este arquivo como o oplog. Se também houver arquivos bson no diretório dump/local, o mongorestore restaura como coleções normais.

Se você especificar um arquivo oplog usando --oplogFile, mongorestore restaurará esse arquivo como o oplog. Se também houver arquivos BSON no diretório dump/local, mongorestore os restaura como coleções normais.

A seguinte mensagem na saída do replay do oplog mostra o número de inserções antes do replay do oplog. Ela não inclui inserções realizadas durante o replay.

0 document(s) restored successfully. 0 document(s) failed to
restore.

Para obter um exemplo de --oplogReplay, consulte Usar um arquivo de oplog para fazer backup e restaurar dados.

Observação

Ao utilizar o mongorestore com --oplogReplay para restaurar um conjunto de réplicas, você deve restaurar um despejo completo de um nó do conjunto de réplicas criado utilizando mongodump --oplog. mongorestore com --oplogReplay falhará se você usar qualquer uma das opções a seguir para limitar os dados a serem restaurados:

--oplogLimit=<timestamp>

Impede que mongorestore aplique entradas de oplog com registro de data e hora mais recente ou igual a <timestamp>. Especifique os valores de <timestamp> na forma de <time_t>:<ordinal>, em que <time_t> são os segundos desde a UNIX epoch, e <ordinal> representa um contador de operações no oplog que ocorreram no segundo especificado.

Aviso

Use oplogLimit com cuidado: especificar manualmente as entradas de oplog a serem aplicadas pode causar corrupção e inconsistências nos dados restaurados.

Você deve usar --oplogLimit em conjunto com a opção --oplogReplay.

--oplogFile=<path>

Especifica o caminho para o arquivo oplog que contém dados de oplog para a restauração. Use com --oplogReplay.

Se você especificar --oplogFile e houver um arquivo oplog.bson no nível superior do diretório de despejo, o mongorestore retornará um erro.

Aviso

Use oplogFile com cuidado: especificar manualmente as entradas de oplog a serem aplicadas pode causar corrupção e inconsistências nos dados restaurados.

--convertLegacyIndexes

Novidades na versão 100.0.0.

Remove quaisquer opções de índice inválidas especificadas na saída mongodump correspondente e reescreve quaisquer valores de chave de índice herdados para usar valores válidos.

  • Opções de índice inválidas são quaisquer opções especificadas para um índice que não estejam listadas como um campo válido para o comando createIndexes . Por exemplo, name e collation são válidos, mas um custom_field arbitrário não é. Com --convertLegacyIndexes especificado, todas as opções de índice inválidas encontradas são descartadas.

  • Os valores da chave de índice herdados são quaisquer valores para o tipo de índice que não são mais compatíveis. Por exemplo, 1 e -1 são valores de chave de índice válidos, mas 0 ou uma string vazia são valores herdados. Com --convertLegacyIndexes especificado, quaisquer valores da chave do índice herdados que são encontrados, são reescritos como 1. Os valores de string não vazios não são substituídos.

Sem a opção --convertLegacyIndexes especificada, a presença de opções de índice inválidas ou valores de chave de índice legados pode fazer com que a compilação do índice falhe.

Se a opção --noIndexRestore for especificada para mongorestore, a opção --convertLegacyIndexes será ignorada.

--keepIndexVersion

Impede que o mongorestore atualize o índice para a versão mais recente durante o processo de restauração.

--noIndexRestore

Impede que mongorestore restaure e crie índices conforme especificado na saída mongodump correspondente.

--fixDottedHashIndex

Cria todos os índices com hash em campos pontilhados como índices ascendentes de campo único no banco de dados de destino.

--noOptionsRestore

Impede que mongorestore defina as opções de collection, como as especificadas pelo collMod comando de banco de dados , em collections restauradas.

--restoreDbUsersAndRoles

Restaure as definições de usuário e função para o banco de dados específico. Consulte Coleção system.roles e Coleção system.users para obter mais informações.

Observação

A opção --restoreDbUsersAndRoles não pode ser usada se especificar o banco de dados admin para a opção --db e tentar fazer isso resultará em um erro. Restaurar o banco de dados do admin especificando --db admin para mongorestore já restaura todos os usuários e funções.

--writeConcern=<document>

Padrão: maioria

Especifica a write concern para cada operação de gravação que mongorestore executa.

Especifique a preocupação de gravação como um documento com opções w:

--writeConcern="{w:'majority'}"

Se a write concern também estiver incluída no --uri connection string, a linha de comando --writeConcern substitui a write concern especificada na string URI.

--maintainInsertionOrder

Padrão: false

Se especificado, o mongorestore insere os documentos na ordem de sua aparência na origem de entrada. Ou seja, tanto a ordem do lote de gravação em massa quanto a ordem do documento dentro dos lotes são mantidas.

A especificação --maintainInsertionOrder também permite --stopOnError e define numInsertionWorkersPerCollection para 1.

Se não especificado, o mongorestore poderá executar as inserções em uma ordem arbitrária.

--numParallelCollections=<int>, -j=<int>

Padrão: 4

O número de collections que o mongorestore deve restaurar em paralelo.

Se você especificar -j ao restaurar uma única collection, -j mapeará para a opção --numInsertionWorkersPerCollection em vez de --numParallelCollections.

--numInsertionWorkersPerCollection=<int>

Padrão: 1

Especifica o número de trabalhadores de inserção para executar simultaneamente por coleção.

Para grandes importações, aumentar o número de trabalhadores de inserção pode aumentar a velocidade da importação.

--stopOnError

Força mongorestore a interromper a restauração quando encontrar um erro.

Por padrão, o mongorestore continua quando encontra erros de validação de documentos e chave duplicados. Para garantir que o programa pare nestes erros, especifique --stopOnError.

--bypassDocumentValidation

Permite que mongorestore ignore a validação do documento durante a operação. Isso permite inserir documentos que não atendem aos requisitos de validação. Esta opção será necessária se você estiver restaurando uma coleção habilitada para Queryable Encryption.

--gzip

Restaura de arquivos compactados ou fluxo de dados criado por mongodump --gzip

Para restaurar a partir de um diretório de despejo que contém arquivos compactados, execute mongorestore com a opção --gzip.

Para restaurar a partir de um arquivo de arquivo compactado, execute o mongorestore com as opções --gzip e --archive .

Observação

Você pode utilizar as opções --nsFrom e --nsTo com a opção --gzip para alterar o namespace da coleção que você está restaurando.

--archive=<file>

Restaura a partir do arquivo especificado ou, se o arquivo não for especificado, a partir da entrada padrão (stdin):.

  • Para restaurar de um arquivo morto, execute o mongorestore com a opção --archive e o nome do arquivo morto

  • Para restaurar a partir da entrada padrão, execute mongorestore com a opção --archive , mas omitir o nome do arquivo.

Observação

  • Você não pode utilizar a opção --archive com a opção --dir .

  • Se você utilizar a opção --archive com o parâmetro <path> , mongorestore ignorará o parâmetro <path> .

  • mongorestore ainda suporta o parâmetro posicional - para restaurar uma coleção única a partir da entrada padrão.

<path>

O caminho do diretório ou nome do arquivo BSON do qual restaurar os dados.

Você não pode especificar o argumento <path> e a opção --dir, que também define o diretório de despejo, para mongorestore.

--dir=string

Especifica o diretório de despejo.

  • Não é possível especificar a opção --dir e o argumento <path> , que também especifica o diretório de despejo, para mongorestore.

  • Você não pode utilizar a opção --archive com a opção --dir.

Voltar

Exemplos