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

mongorestore

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

O programa mongorestore carrega dados de um despejo de banco de dados binário criado pelo mongodump ou a entrada padrão em uma instância mongod, ou mongos. A mongorestore é instalada quando você instala MongoDB Database Tools.

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.

Você pode restaurar os arquivos BSON gerados do mongodump para implantações do MongoDB que estejam executando a mesma versão principal ou versão de compatibilidade de recursos da implantação de origem.

mongorestore tem os seguintes comportamentos e limitações:

  • Você deve executar mongorestore na linha de comando do sistema, não no MongoDB Shell.

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

  • Você não pode usar mongorestore com uma collection que usa Queryable Encryption.

Use a seguinte sintaxe de comando ao executar mongorestore:

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

Consulte Opções para saber quais opções você pode usar ao executar mongorestore.

Quando você executa mongorestore sem argumentos, a configuração padrão é restaurar dados de um diretório local ./dump para uma instância mongod local em execução na porta 27017:

mongorestore

Você também pode especificar um diretório dump em um caminho diferente. Por exemplo, o seguinte comando restaura dados de um diretório em ./downloads/dump para um cluster do Atlas especificado por uma string de conexão:

mongorestore --uri="<my-connection-string>" ./downloads/dump

À medida que o mongorestore é restaurado a partir do diretório fornecido, ele cria o banco de dados e as coleções, conforme necessário, e loga 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 coleção ou coleções específicas a partir do diretório dump. Por exemplo, a seguinte operação restaura a coleção test.purchaseorders 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, a mongorestore não restaurará nenhum dado. Por exemplo, o seguinte comando especifica um namespace da coleção que não tem dados correspondentes no diretório dump:

mongorestore --nsInclude=foo.bar dump/

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 da mongorestore, consulte Exemplos de mongorestore.

Esta seção inclui informações sobre todas as opções disponíveis para mongorestore.

--archive=<file>

Restaura a partir de um arquivo criado por mongodump --archive. A mongorestore restaura a partir do arquivo especificado ou, se você não especificar um arquivo, 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 e omita o nome do arquivo.

O exemplo a seguir mostra como restaurar a partir da entrada padrão:

mongodump --archive | mongorestore --archive

Esse pipeline de comando executa primeiro mongodump com o sinalizador --archive, que imprime sua saída para stdout ou saída padrão. Em seguida, a entrada é piped para a entrada padrão do mongorestore usando o operador de pipe |.

Importante

  • Não é possível usar a opção --archive com a opção --dir, que especifica o diretório de despejo.

  • As opções --db e são preteridas ao restaurar de um arquivo morto. Para restaurar um banco de dados ou collection --collection específica,--nsInclude use.

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

--authenticationDatabase=<dbname>

Especifica o banco de dados de autenticação onde o --username especificado foi criado. Utilize em conjunto com as opções --username e --password.

Para obter mais informações sobre bancos de dados de autenticação, 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.

--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.

--bypassDocumentValidation

Permite que mongorestore ignore a validação do documento durante a operação. Isso permite inserir documentos que não atendam aos requisitos de validação.

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

Importante

O uso das opções --db e é preterido ao restaurar a partir de um diretório ou arquivo compactado. Para restaurar um banco de dados específico ou coleção de um arquivo ou um --collection diretório,--nsInclude consulte.

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
--compressors=<string>

Especifica o algoritmo de compactação que mongodump utiliza para a comunicação de rede entre o cliente mongorestore e o servidor MongoDB. Você pode usar um ou mais desses valores para a opção --compressors:

  • snappy

  • zlib

  • zstd

Se você especificar vários algoritmos de compressão, o mongorestore utilizará o primeiro na lista suportado pelo seu sistema do MongoDB .

Para obter mais informações sobre compressores, consulte a documentação de compactação de rede do driver Go.

--config=<filename>

Novidades na versão 100.3.0.

Especifica o caminho completo para um arquivo de configuração YAML que contém valores confidenciais para as opções de mongorestore seguintes:

Esta é a maneira recomendada de especificar uma senha para mongorestore, além de especificá-la por meio de um prompt de senha. Você pode usar qualquer combinação dos argumentos no arquivo.

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

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

Se você especificar a opção password sem especificar uri, poderá definir os outros componentes da string de conexão usando as opções de linha de comando mongorestore, como --username e --host.

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

Importante

Ao usar a opção --config, tenha em mente as seguintes limitações e comportamentos:

  • Se você fornecer o campo password e uma string de conexão no campo uri com uma senha conflitante, a mongorestore emitirá um erro.

  • Se você especificar um arquivo de configuração com --config e também usar as opções de linha de comando--password, --uriou --sslPEMKeyPassword mongorestore, a opção de linha de comando substituirá a opção de arquivo de configuração correspondente.

--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.

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

Importante

O uso das opções --db e é preterido ao restaurar a partir de um diretório ou arquivo compactado. Para restaurar um banco de dados específico ou coleção de um arquivo ou um --collection diretório,--nsInclude consulte.

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.

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.

--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.

--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.

--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.

--fixDottedHashIndex

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

--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.

--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.

--gzip

Restaura de arquivos compactados ou fluxo de dados criados 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.

--help

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

--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.

--keepIndexVersion

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

--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.

--noIndexRestore

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

--noOptionsRestore

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

--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.

Se você especificar ambos --nsExclude e --nsInclude, o padrão que o --nsExclude especifica terá precedência. Por exemplo, se você especificar --nsExclude="prod.*" e --nsInclude="prod.trips", nenhuma coleção do namespace prod será restaurada.

--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.

--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".

Se você especificar ambos --nsExclude e --nsInclude, o padrão que o --nsExclude especifica terá precedência. Por exemplo, se você especificar --nsExclude="prod.*" e --nsInclude="prod.trips", nenhuma coleção do namespace prod será restaurada.

--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.

--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.

--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.

--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.

--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.

--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.

--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:

Dica

--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.

<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.

--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.

--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 .

--quiet

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

Esta opção suprime:

--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

  • Você só pode usar --restoreDbUsersAndRoles em um dump de banco de dados que foi criado com a opção --dumpDbUsersAndRoles.

  • Restaurar o banco de dados admin especificando --db admin restaura automaticamente todos os usuários e funções. Você não pode usar --restoreDbUsersAndRoles no banco de dados admin, e tentar fazer isso resulta 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.

--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.

--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.

--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.

--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.

--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.

--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.

--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.

--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.)

--version

Retorna o número de versão mongorestore.

--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.

Voltar

Exemplos

Nesta página