Definição
mongodump é um utilitário que cria uma exportação binária do conteúdo de um banco de dados. mongodump pode exportar dados de:
Sistemas autônomos
Conjuntos de réplicas
Clusters fragmentados
Clusters flexíveis
Você pode utilizar o MongoDB Database Tools para migrar de uma implantação auto-hospedada para MongoDB Atlas. MongoDB Atlas é o serviço totalmente gerenciado para implantações 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.
mongodump pode se conectar a instânciasmongod e mongos.
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.
Execute mongodump na linha de comando do sistema, não no shell mongo.
Dica
mongorestore, que permite importar dados que foram exportados de mongodump.
Se você estiver arquivando dados obsoletos para economizar nos custos de armazenamento, considere usar o Online Archive no MongoDB Atlas. O Online Archive arquiva automaticamente dados acessados com pouca frequência em buckets S3 totalmente gerenciados, possibilitando uma divisão econômica dos dados em níveis.
mongodump despejos:
Documentos, metadados e opções da coleção.
Definições de índice.
Gravações que ocorrem durante a exportação, se executadas com a opção
mongodump--oplog.
mongodump despeja dados em um diretório ou arquivo binário.
Importante
Você não pode usar mongodump com uma collection que usa Queryable Encryption.
Despejar dados em um diretório
Exemplo de estrutura e arquivos de despejo do diretório mongodump:
dump ├── easternSalesDatabase │ ├── sales.bson │ ├── sales.metadata.json │ └── salesByMonthView.metadata.json ├── westernSalesDatabase │ ├── sales.bson │ ├── sales.metadata.json │ └── salesByMonthView.metadata.json └── oplog.bson
Para um despejo de diretório, mongodump cria:
Um diretório raiz com o nome padrão
dump. Você pode definir o nome com a opçãomongodump--out.Um subdiretório no diretório raiz de cada banco de dados. Por exemplo, se o nome do banco de dados for
easternSalesDatabase, o nome do subdiretório também seráeasternSalesDatabase.Um arquivo BSON com documentos para cada coleção. Por exemplo, se o nome de uma coleção for
sales, o BSON serásales.bson.Um arquivo JSON de metadados para cada coleção em cada diretório do banco de dados. Por exemplo, um arquivo de metadados
sales.metadata.json. O arquivo contém um documento com os metadados, opções e índices da coleção exportada.Um arquivo JSON de metadados para cada visualização. Por exemplo, um arquivo de metadados
salesByMonthView.metadata.json. Uma visualização não possui um arquivo BSON.Um arquivo oplog
oplog.bsonopcional, localizado no diretório raiz, que contém operações de gravação que ocorreram durante a execução domongodump. Para gerar um arquivooplog.bson, use a opçãomongodump--oplog.
Se você usar a opção mongodump --gzip, os arquivos BSON e de metadados JSON serão compactados. Os arquivos exportados compactados têm bson.gz e metadata.json.gz no final dos nomes.
Despejar dados em um arquivo binário
Para despejar dados em um arquivo binário, use a opção mongodump --archive. mongodump cria um arquivo binário que contém os dados arquivados.
Sintaxe
mongodump sintaxe:
mongodump <options> <connection-string>
Para se conectar a uma instância local do MongoDB executando na porta 27017 e usar as configurações padrão para exportar o conteúdo, execute mongodump sem nenhuma opção de linha de comando:
mongodump
Para especificar um host e/ou porta da instância do MongoDB, você pode:
Especifique o nome do host e a porta na opção
--uri connection string:mongodump --uri="mongodb://mongodb0.example.com:27017" [additional options] Especifique o nome do host e a porta na opção
--host:mongodump --host="mongodb0.example.com:27017" [additional options] Especifique o nome do host e a porta nas opções
--hoste--port:mongodump --host="mongodb0.example.com" --port=27017 [additional options]
Para se conectar a uma réplica definida para exportar seus dados, você pode:
Especifique o nome do conjunto de réplicas e os membros na opção
--uri connection string:mongodump --uri="mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?replicaSet=myReplicaSetName" [additional options] Especifique o nome do conjunto de réplicas e os membros na opção
--host:mongodump --host="myReplicaSetName/mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com" [additional options]
Por padrão, o mongodump lê a partir do primário do conjunto de réplica. Para substituir o padrão, você pode especificar a preferência de leitura:
Você pode especificar a preferência de leitura na opção
--uri connection string:mongodump --uri="mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?replicaSet=myReplicaSetName&readPreference=secondary" [additional options] Se especificar as marcações de read preference, inclua a opção
readPreferenceTags:mongodump --uri="mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?replicaSet=myReplicaSetName&readPreference=secondary&readPreferenceTags=region:east" [additional options] Você pode especificar a preferência de leitura usando a opção de linha de comando
--readPreference. A opção de linha de comando usa uma string se especificar apenas o modo de preferência de leitura:mongodump --host="myReplicaSetName/mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017" --readPreference=secondary [additional options] Ou a opção de linha de comando pode receber um documento entre aspas
'{ mode: <mode>, tagSets: [ <tag1>, ... ], maxStalenessSeconds:<num>}'para especificar o modo, os conjuntos de tags de preferência de leitura opcionais e o maxStalenessSeconds opcional:mongodump --host="myReplicaSetName/mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017" --readPreference='{mode: "secondary", tagSets: [ { "region": "east" } ]}' [additional options]
Observação
Para evitar inconsistências de dados, pause as seguintes ações em seu cluster fragmentado ao executar mongodump:
Transações entre fragmentos
Operações de linguagem de definição de dados (operações que criam e modificam coleções)
Balanceamento de partes
Para parar o balanceador, use o método sh.stopBalancer().
Para se conectar a um cluster fragmentado para exportar seus dados, você pode:
Especifique o nome de host da instância
mongosna opção--uri connection string:mongodump --uri="mongodb://mongos0.example.com:27017" [additional options] Especifique o nome de host e a porta da instância
mongosna opção--host:mongodump --host="mongos0.example.com:27017" [additional options]
Por padrão, o mongodump lê a partir do primary do conjunto de réplicas de shard. Para ignorar o padrão, especifique a read preference:
Você pode especificar a preferência de leitura na opção
--uri connection string:mongodump --uri="mongodb://mongos0.example.com:27017/?readPreference=secondary" [additional options] Se especificar as marcações de read preference, inclua a opção
readPreferenceTags:mongodump --uri="mongodb://mongos0.example.com:27017/?readPreference=secondary&readPreferenceTags=region:east" [additional options] Você pode especificar a read preference usando a opção de linha de comando
--readPreference. A opção de linha de comando usa uma string se especificar apenas o modo de read preference:mongodump --host="mongos0.example.com:27017" --readPreference=secondary [additional options] Ou a opção de linha de comando pode receber um documento entre aspas
'{ mode: <mode>, tagSets: [ <tag1>, ... ], maxStalenessSeconds: <num>}'para especificar o modo, os conjuntos de tags de preferência de leitura opcionais e o maxStalenessSeconds opcional:mongodump --host="mongos0.example.com:27017" --readPreference='{mode: "secondary", tagSets: [ { "region": "east" } ]}' [additional options]
Opções
--verbose, -vAumenta a quantidade de relatórios internos retornados no resultado padrão ou em arquivos de log. Aumente a verbosidade com a forma
-vincluindo a opção várias vezes. Por exemplo:-vvvvv.
--quietExecuta
mongodumpem 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
Conexão aceita e eventos fechados
Todos os registros, incluindo mensagens de erro, exceto aqueles que ocorrem ao analisar opções
--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
mongodumpseguintes:Esta é a maneira recomendada de especificar uma senha para
mongodump, 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
passwordsem especificaruri, poderá definir os outros componentes da string de conexão usando as opções de linha de comandomongodump, como--usernamee--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
passworde uma string de conexão no campouricom uma senha conflitante, amongorestoreemitirá um erro.Se você especificar um arquivo de configuração com
--confige também usar as opções de linha de comando--password,--uriou--sslPEMKeyPasswordmongodump, a opção de linha de comando substituirá a opção de arquivo de configuração correspondente.
--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.0domongodump, a string de conexão pode ser fornecida como um parâmetro posicional, sem usar a opção--uri:mongodump 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://oumongodb+srv://. Por exemplo:mongodump --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
--uriou 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 stringpodem ser especificados usando suas próprias opções explícitas de linha de comando, como--usernamee--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
mongodumpno Ubuntu 18.04, você poderá ver uma mensagem de errocannot unmarshal DNSao usar strings de conexão SRV (no formatomongodb+srv://) com a opção--uri. Nesse caso, use uma das seguintes opções:a opção
--uricom uma string de conexão não SRV (no formuláriomongodb://)a opção
--hostpara especificar o host e conectar diretamente
Aviso
Em alguns sistemas, uma senha fornecida em uma string de conexão com a opção
--uripode ser visível para programas de status do sistema comopsque 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
--configpara 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,
mongodumptenta se conectar a uma instância do MongoDB em execução no host local na porta número27017.Para se conectar a um conjunto de réplicas, especifique o
replSetNamee 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,
mongodumpsempre 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 da 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--hoste 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--porte especificar informações conflitantes resultará em um erro.
--sslHabilita uma conexão para um
mongodoumongosque 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--ssle especificar informações conflitantes resultará em um erro.
--sslCAFile=<filename>Especifica o arquivo
.pemque contém a sequência de certificados raiz da autoridade de certificação. Especifique o nome do arquivo.pemusando caminhos relativos ou absolutos.Como alternativa, você também pode especificar o arquivo
.pemdiretamente noURI connection string. Fornecer uma string de conexão e, ao mesmo tempo, usar--sslCAFilee especificar informações conflitantes resultará em um erro.
--sslPEMKeyFile=<filename>Especifica o arquivo
.pemque contém o certificado e a chave TLS/SSL. Especifique o nome do arquivo.pemusando caminhos relativos ou absolutos.Esta opção é exigida ao utilizar a opção
--sslpara conectar a ummongodoumongosque temCAFilehabilitado semallowConnectionsWithoutCertificates.Como alternativa, você também pode especificar o arquivo
.pemdiretamente noURI connection string. Fornecer uma string de conexão e, ao mesmo tempo, usar--sslPEMKeyFilee especificar informações conflitantes resultará em um erro.
--sslPEMKeyPassword=<value>Especifica a senha para descriptografar o arquivo de chave de certificado (ou seja,
--sslPEMKeyFile). Utilize a opção`--sslPEMKeyPasswordsomente se o arquivo da chave de certificado for codificado. A opçãomongodumpsempre omitirá a senha de todos os resultados de registros e relatórios.Se a chave privada no arquivo PEM estiver criptografada e você não especificar a opção
--sslPEMKeyPassword,mongodumpsolicitará uma senha. Consulte 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--sslPEMKeyPassworde especificar informações conflitantes resultará em um erro.Aviso
Em alguns sistemas, uma senha fornecida diretamente utilizando a opção
--sslPEMKeyPasswordpode ser visível para programas de status do sistema comopsque podem ser invocados por outros usuários. Considere utilizar a opção--configpara especificar um arquivo de configuração contendo a senha.
--sslCRLFile=<filename>Especifica o arquivo
.pemque contém a lista de certificados revogados. Especifique o nome do arquivo.pemusando caminhos relativos ou absolutos.
--sslAllowInvalidCertificatesIgnora 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
--sslAllowInvalidCertificatesse possível. Se o uso do--sslAllowInvalidCertificatesfor 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
mongodoumongossem 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--sslAllowInvalidCertificatese especificar informações conflitantes resultará em um erro.
--sslAllowInvalidHostnamesDesabilita a validação dos nomes de host em certificados TLS/SSL. Permite que o
mongodumpse 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--sslAllowInvalidHostnamese especificar informações conflitantes resultará em um erro.
--username=<username>, -u=<username>Especifica um nome de usuário com o qual autenticar em um banco de dados MongoDB que usa autenticação. Use em conjunto com as opções
--password <mongodump --password>e--authenticationDatabase <mongodump --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--usernamee especificar informações conflitantes resultará em um erro.Se estiver se conectando a um cluster do MongoDB Atlas usando o
MONGODB-AWSauthentication mechanism, você pode especificar seu ID de chave de acesso da AWS em:esse campo,
o
connection string, oua variável de ambiente
AWS_ACCESS_KEY_ID.
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 banco de dados MongoDB que usa autenticação. Use em conjunto com as opções
--username <mongodump --username>e--authenticationDatabase <mongodump --authenticationDatabase>.Para solicitar a senha do usuário, passe a opção
--username <mongodump --username>sem--password <mongodump --password>ou especifique uma string vazia como o valor--password <mongodump --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--passworde especificar informações conflitantes resultará em um erro.Se estiver se conectando a um cluster do MongoDB Atlas usando o
MONGODB-AWSauthentication mechanism, você pode especificar sua chave de acesso secreta da AWS em:esse campo,
o
connection string, oua variável de ambiente
AWS_SECRET_ACCESS_KEY.
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
--passwordpode ser visível para programas de status do sistema comopsque podem ser invocados por outros usuários. Em vez disso, considere:omitindo a opção
--passwordpara receber uma solicitação de senha interativa, ouutilizando a opção
--configpara 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-AWSauthentication mechanisme 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:esse campo,
o parâmetro
AWS_SESSION_TOKENauthMechanismPropertiespara oconnection string, oua variável de ambiente
AWS_SESSION_TOKEN.
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-AWSauthentication mechanism.
--authenticationDatabase=<dbname>Especifica o banco de dados de autenticação onde o
--username <mongodump --username>especificado foi criado. Consulte Banco de dados de autenticação.Se você não especificar um banco de dados de autenticação, o
mongodumpassumirá que o banco de dados especificado para exportar mantém as credenciais do usuário.Se você não especificar um banco de dados de autenticação ou um banco de dados para exportar, o
mongodumppresumirá que o banco de dadosadmincontém as credenciais do usuário.Se estiver usando o GSSAPI (Kerberos), PLAIN (LDAP SASL) ou
MONGODB-AWSauthentication mechanisms, você deverá definir--authenticationDatabasecomo$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--authenticationDatabasee 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
mongodumputiliza para autenticar nomongodoumongos.Alterado na versão 100.1.0: A partir da versão
100.1.0, omongodumpadiciona suporte ao mecanismo de autenticaçãoMONGODB-AWSao se conectar a um cluster do MongoDB Atlas.ValorDescriçãoRFC 5802 mecanismo de autenticação de resposta de desafio salgado padrão usando a função de hash SHA-1.
RFC 7677 mecanismo de autenticação de resposta de desafio salgado 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-AWSAutenticaçã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
PLAINpara autenticar usuários do banco de dados.PLAINtransmite 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--authenticationMechanisme especificar informações conflitantes resultará em um erro.
--gssapiServiceNameEspecifique 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.
Alternativamente, você também pode especificar o nome do serviço diretamente no
URI connection string. Fornecer uma string de conexão ao mesmo tempo em que usa--gssapiServiceNamee especificar informações conflitantes resultará em um erro.
--gssapiHostNameEspecifique o nome de host de um serviço utilizando
GSSAPI/Kerberos </core/kerberos>. Somente necessário se o nome do host de uma máquina não coincidir com o nome do host resolvido pelo DNS.Esta opção está disponível apenas no MongoDB Enterprise.
--db=<database>, -d=<database>Especifica um banco de dados para backup. Se você não especificar um banco de dados,
mongodumpcopiará todos os bancos de dados nesta instância para os arquivos de despejo.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--dbe especificar informações conflitantes resultará em um erro.
--collection=<collection>, -c=<collection>Especifica uma coleção para backup. Se você não especificar uma coleção, esta opção copiará todas as coleções no banco de dados especificado ou instância para os arquivos de despejo.
--query=<json>, -q=<json>Fornece um documento JSON como uma query que opcionalmente limita os documentos incluídos na saída do
mongodump. Para usar a opção--query, você também deve especificar a opção--collection <mongodump --collection>.Você deve colocar o documento de query entre aspas simples (
'{ ... }') para garantir que ele não interaja com seu ambiente de shell.A query deve estar no formato JSON v2 estendido (modo relaxado ou canônico/estrito), incluindo a inserção dos nomes de campo e operadores entre aspas. Por exemplo:
mongodump -d=test -c=records -q='{ "a": { "$gte": 3 }, "date": { "$lt": { "$date": "2016-01-01T00:00:00.000Z" } } }' Para utilizar o
$regexcommongodump, utilize a seguinte sintaxe:mongodump -d=sample_mflix -c=movies -q='{ "year": { "$regex": "20" } }' Observação
Ao usar a opção
--queryem uma coleção de séries temporais, você só pode consultar o campo especificado como ometaField.
--queryFile=<path>Especifica o caminho para um arquivo contendo um documento JSON como um filtro de consulta que limita os documentos incluídos na saída de
mongodump.--queryFilepermite que você crie filtros de consulta que são grandes demais para caber no buffer do terminal.Observação
Ao usar a opção
--queryFileem uma coleção de séries temporais, só é possível executar uma query no campo especificado comometaField.
--readPreference=<string|document>Padrão:
primaryEspecifica a preferência de leitura para
mongodump. A opção--readPreferencepode levar:Uma string se especificar apenas o modo de read preference:
--readPreference=secondary Um documento com aspas para especificar o modo, os conjuntos de tags de preferência de leitura opcionais e o maxStalenessSeconds: opcional
--readPreference='{mode: "secondary", tagSets: [ { "region": "east" } ], maxStalenessSeconds: 120}' Se especificar maxStalenessSeconds, o valor deve ser maior ou igual a 90.
mongodumpprimarytem como padrão a preferência de leitura.Se a preferência de leitura também for incluída no
--uri connection string <--uri>, a linha de comando--readPreferencesubstituirá a preferência de leitura definida na string URI.
--gzipCompacta a saída. Se
mongodumptiver o diretório de despejo como saída, o novo recurso compactará os arquivos individuais. Os arquivos apresentam o sufixo.gz.Se
mongodumpgera um arquivo de arquivamento ou a saída padrão, o novo recurso comprime o arquivo de arquivamento ou os dados de saída para o fluxo.
--out=<path>, -o=<path>Especifica o diretório em que
mongodumpgravará arquivos BSON para os bancos de dados despejados. Por padrão, omongodumpsalva os arquivos de saída em um diretório denominadodumpno diretório de trabalho atual.Para enviar o despejo do banco de dados para a saída padrão, especifique "
-" em vez de um caminho. Grave na saída padrão se quiser processar a saída antes de salvá-la, como usargzippara compactar o despejo. Ao gravar a saída padrão,mongodumpnão grava os metadados gravados em um arquivo<dbname>.metadata.jsonao gravar diretamente nos arquivos.Você não pode utilizar a opção
--archivecom a opção--out.
--archive=<file>Grava a saída em um arquivo especificado ou, se o arquivo não for especificado, grava na saída padrão (
stdout). Um arquivo morto é uma alternativa de arquivo único a vários arquivos BSON.Para produzir o dump para um arquivo, execute
mongodumpcom a opção--archive <mongodump --archive>e o nome do arquivo.mongodump --archive=<file> Para emitir o despejo no fluxo de saída padrão e direcionar para outro processo, execute o
mongodumpcom a opção--archive <mongodump --archive>, mas omita o nome do arquivo.mongodump --archive
Você não pode utilizar a opção
--archive <mongodump --archive>com a opção--out <mongodump --out>.Observação
Se o
mongodumpgravar em um arquivo arquivado, o desempenho domongodumppoderá melhorar. Para obter mais informações sobre os impactos no desempenho domongodump, consulte Considerações sobre formatos de saída.
--oplogCria um arquivo denominado
oplog.bsoncomo parte da saída domongodump. O arquivooplog.bson, localizado no nível superior do diretório de saída, contém entradas de oplog que ocorrem durante a operaçãomongodump.Para aplicar entradas de oplog do arquivo
oplog.bsonna operação de restauração, usemongorestore --oplogReplay. Você pode usarmongodump --oplogcommongorestore --oplogReplaypara garantir que os dados estejam atualizados e tenham todas as gravações que ocorreram durante o despejo.Sem
--oplog, se houver operações de gravação durante a operação de despejo, o despejo não refletirá um único momento no tempo. As alterações feitas no banco de dados durante o processo de atualização podem afetar a saída do backup.Para fazer backup de conjuntos de réplicas individuais e, ao mesmo tempo, aceitar gravações, use
--oplog.Importante
Um
mongodumpem execução com--oplogfalhará se um cliente emitir qualquer uma das operações listadas durante o processo de despejo.--oplognão tem efeito ao executarmongodumpem uma instânciamongospara despejar todo o conteúdo de um cluster fragmentado.--oplogsó funciona com nós que mantêm um oplog. Isso inclui todos os membros de um conjunto de réplicas.--oplognão despeja a coleção oplog.Você não pode executar
mongodumpcom--oplogem um cluster fragmentado. Para fazer backup de clusters fragmentados commongodump, consulte Fazer backup de um cluster fragmentado autogerenciado com um despejo de banco de dados.Observação
Para usar
mongodumpcom--oplog, você deve criar um dump completo de um membro do conjunto de réplicas.mongodumpcom--oplogfalha se você usar qualquer uma das seguintes opções para limitar os dados a serem despejados:--db--collection--dumpDbUsersAndRoles--query
--dumpDbUsersAndRolesInclui definições de usuário e função no diretório de despejo do banco de dados na execução do
mongodumpem um banco de dados específico. Essa opção se aplica somente quando você especifica um banco de dados na opção--db. O MongoDB sempre inclui as definições de usuário e função quandomongodumpse aplica a uma instância inteira e não apenas a um banco de dados específico.
--excludeCollection=<string>Exclui a coleção especificada da saída
mongodump. Para excluir várias coleções, especifique o--excludeCollectionvárias vezes.Para usar a opção
--excludeCollection, você deve especificar um banco de dados. Você pode especificar um banco de dados com a opção--dbou na string de conexão--uri.
--excludeCollectionsWithPrefix=<string>Exclui das saídas de
mongodumptodas as coleções que tenham o prefixo especificado. Para especificar vários prefixos, insira--excludeCollectionsWithPrefixvárias vezes.Para usar a opção
--excludeCollectionsWithPrefix, você deve especificar um banco de dados. Você pode especificar um banco de dados com a opção--dbou na string de conexão--uri.
--numParallelCollections=<int>, -j=<int>Padrão: 4
O número de coleções que o
mongodumpdeve exportar em paralelo.
--viewsAsCollectionsQuando especificado, o
mongodumpexporta visualizações como coleções.Observação
Somente visualizações são exportadas. Por padrão,
mongodumpexporta apenas os metadados de uma visualização. Para exportar os documentos em uma exibição, use a opção--viewsAsCollections.Para cada visualização,
mongodumpcria um arquivo BSON contendo os documentos na visualização. Se você utilizar omongorestorecom um arquivo BSON criado pelomongodump, a visualização será restaurada como uma coleção.Se você não incluir
--viewsAsCollections, omongodumpcapturará os metadados de cada visualização. Se você incluir um arquivo de metadados de visualização em uma operação domongorestore, a visualização será recriada.
--compressors=<string>Especifica o algoritmo de compactação que
mongodumputiliza para a comunicação de rede entre o clientemongodumpe o servidor MongoDB. Você pode usar um ou mais desses valores para a opção--compressors:snappyzlibzstd
Se você especificar vários algoritmos de compressão, o
mongodumputilizará 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.
Saiba mais
Para obter mais informações sobre mongodump, consulte:
Para ver um tutorial, consulte Fazer backup de um cluster fragmentado autogerenciado com um despejo de banco de dados.
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.