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 usar as Ferramentas de Banco de Dados MongoDB para migrar de um sistema auto-hospedado para o MongoDB Atlas. MongoDB Atlas é o serviço totalmente gerenciado para sistemas 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 mongod instâncias mongos e .
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 mongo shell.
Dica
mongorestore, que permite importar dados que foram exportados de mongodump.
Se você estiver arquivando dados obsoletos para economizar nos custos de armazenamento, considere o Online Archive no MongoDB Atlas. O Online Archive arquiva automaticamente dados acessados com pouca frequência em buckets S3 totalmente gerenciados para 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
mongodump--oplogopção.
mongodump despeja dados em um diretório ou arquivo binário.
Importante
Não é possível usar mongodump com uma collection que usa Queryable Encryption ou criptografia no nível do campo do lado do cliente (CSFLE).
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
dumppadrão. Você pode definir o nome com amongodump--outopção.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
oplog.bsonarquivo oplog opcional, localizado no diretório raiz, que contém as operações de gravação que ocorreram durante a execuçãomongodumpdo. Para produzir umoplog.bsonarquivo, use amongodump--oplogopção.
Se você utilizar a mongodump --gzip opção, os arquivos BSON e arquivos de metadados JSON serão compactados. Os arquivos compactados exportados 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 mongodump --archive opção. mongodump cria um arquivo binário que contém os dados arquivados.
Se você executar o mongodump com a opção --oplog, o arquivo incluirá as entradas oplog.
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
--uri connection stringopção:mongodump --uri="mongodb://mongodb0.example.com:27017" [additional options] Especifique o nome do host e a porta na
--hostopção:mongodump --host="mongodb0.example.com:27017" [additional options]
Para se conectar a uma réplica definida para exportar seus dados, você pode:
Especifique o nome do conjunto de réplica e nós na
--uri connection stringopção: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éplica e nós na
--hostopção: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
--uri connection stringopção: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 preferência de leitura , inclua a
readPreferenceTagsopção: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, utilize o sh.stopBalancer() método.
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 do host e a porta da
mongosinstância na--hostopção: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
--uri connection stringopção:mongodump --uri="mongodb://mongos0.example.com:27017/?readPreference=secondary" [additional options] Se especificar as marcações de preferência de leitura , inclua a
readPreferenceTagsopção:mongodump --uri="mongodb://mongos0.example.com:27017/?readPreference=secondary&readPreferenceTags=region:east" [additional options] Você pode especificar a preferência de leitura usando a
--readPreferenceopção de linha de comando. A opção de linha de comando usa uma string se especificar apenas o modo de preferência de leitura :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 utilizar 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.0mongodumpde, a string de conexão pode ser fornecida como um parâmetro posicional, sem usar a--uriopção: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 da
connection stringpodem ser especificados usando suas próprias opções explícitas de linha de comando, como--usernamee--password. Fornecer uma connection string 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ê pode enfrentar umacannot unmarshal DNSmensagem de erro ao usar connection strings SRV (nomongodb+srv://formato) com a opção. Nesse caso, use uma das seguintes--uriopções:a opção
--uricom uma string de conexão não SRV (nomongodb://formato)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 membros 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 primary.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 e, ao mesmo tempo, usar--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 connection string e, ao mesmo tempo, usar--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.Alternativamente, você também pode especificar o
.pemarquivo diretamente no. Fornecer uma string de conexão e,URI connection stringao mesmo tempo,--sslCAFileusar e 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
--sslopção para conectar a ummongodoumongosque temCAFilehabilitadoallowConnectionsWithoutCertificatessem.Alternativamente, você também pode especificar o
.pemarquivo diretamente no. Fornecer uma string de conexão e,URI connection stringao mesmo tempo,--sslPEMKeyFileusar e 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 connection string e, ao mesmo tempo, usar--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, o MongoDB registra como aviso o uso do certificado
allowInvalidCertificatesinvá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
mongodou 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,mongos--sslAllowInvalidHostnamesconsulte.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.Alternativamente, você também pode desabilitar a validação do nome de host diretamente no
URI connection string. Fornecer uma connection string e, ao mesmo tempo, usar--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 connection string e, ao mesmo tempo, usar--usernamee especificar informações conflitantes resultará em um erro.Se estiver se conectando a um cluster MongoDB Atlas usando
MONGODB-AWSauthentication mechanismo, você pode especificar seu ID de chave de acesso do AWS em:esse campo,
connection stringo, 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 connection string e, ao mesmo tempo, usar--passworde especificar informações conflitantes resultará em um erro.Se estiver se conectando a um cluster do MongoDB Atlas usando
MONGODB-AWSauthentication mechanismo, você poderá especificar sua chave de acesso secreta da AWS em:esse campo,
connection stringo, 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:omitir 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 estiver se conectando a um cluster do MongoDB Atlas usando o
MONGODB-AWSauthentication mechanisme usando tokens de sessão além do ID da chave de acesso da AWS e da chave de acesso secreta, você poderá especificar o token de sessão da AWS em:esse campo,
o
AWS_SESSION_TOKENauthMechanismPropertiesparâmetro para o,connection stringoua 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 usar o
MONGODB-AWSauthentication mechanism.
--authenticationDatabase=<dbname>Especifica o banco de dados de autenticação onde o
--username <mongodump --username>especificado foi criado. Consulte o 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 você usar GSSAPI (Kerberos), PLAIN (LDAP SASL) ou
MONGODB-AWSauthentication mechanisms, você deverá definir--authenticationDatabasecomo$external.Alternativamente, você também pode especificar o banco de dados de autenticação diretamente no
URI connection string. Fornecer uma connection string e, ao mesmo tempo, usar--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, omongodumpoferece suporte ao mecanismo de autenticaçãoMONGODB-AWSao se conectar a um cluster MongoDB Atlas.ValorDescriçãoRFC 5802 Mecanismo de Autenticação de Resposta de Desafio Salted padrão usando a1 função de hash SHA-.
RFC 7677 Mecanismo de Autenticação de Resposta de Desafio Salted padrão usando a256 função de hash SHA-.
Exige featureCompatibilityVersion definido para
4.0.Autenticação de certificado TLS/SSL do MongoDB.
MONGODB-AWSAutenticação externa usando credenciais 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 de banco de dados.PLAINtransmite senhas em texto simples. Esse mecanismo está disponível somente 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 e, ao mesmo tempo, usar--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
mongodbpadrão.Esta opção está disponível apenas no MongoDB Enterprise.
Alternativamente, você também pode especificar o nome do serviço diretamente
URI connection stringno. Fornecer uma string de conexão e, ao mesmo tempo,--gssapiServiceNameusar e 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 connection string e, ao mesmo tempo, usar--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 dump.
--query=<json>, -q=<json>Fornece um documento JSON como uma query que opcionalmente limita os documentos incluídos na saída
mongodumpde. Para usar a--queryopção, você também deve especificar a--collection <mongodump --collection>opção.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 JSON2 Estendido v ( modo relaxado ou canônico/estrito), incluindo os 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
$regexmongodumpo com, utilize a seguinte sintaxe:mongodump -d=sample_mflix -c=movies -q='{ "year": { "$regex": "20" } }' A partir do MongoDB 9.0, o servidor corresponde caminhos de campo pontilhados ao
nullde forma diferente quando um componente intermediário do caminho é uma array de valores escalares. Essa alteração afeta os operadores$eq,$ne,$ine$nin.Por exemplo, considere uma coleção que tenha o documento
{ "a": [ 1 ] }. O caminhoa.bnão existe nesse documento.No MongoDB 8.x e anteriores, o predicado
{ "a.b": { "$ne": null } }corresponde ao documento.A partir do MongoDB 9.0, o mesmo predicado não corresponde ao documento, e o predicado
{ "a.b": { "$eq": null } }corresponde a ele.
Se sua query usar esse predicado, o mesmo valor
--queryselecionará um conjunto diferente de documentos no MongoDB 9.0 do que nas versões anteriores. Uma operação que filtra em{ "$ne": null }retorna menos documentos. Revise qualquer query que compare um caminho pontilhado comnullantes de fazer dump ou exportar dados de uma implantação do MongoDB 9.0. Confirme se a query ainda seleciona os documentos que você espera.Observação
Ao usar a
--queryopção em uma coleção de séries temporais, você só pode consultar o campo especificadometaFieldcomo.
--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
mongodumppara. A--readPreferenceopção pode 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 90 a.
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 escrever em um arquivo compactado,
mongodumpomongodumpdesempenho do poderá melhorar. Para obter mais informações sobremongodumpos impactos no desempenho, consulte Considerações sobre o formato de saída.
--oplogCaptura todas as entradas do oplog que ocorrem durante a operação
mongodumppara que o despejo reflita um único momento no tempo.Onde
mongodumpcoloca os dados de oplog depende do destino de saída:Para um despejo de diretório,
mongodumpgrava as entradas de oplog em um arquivooplog.bsonno nível superior do diretório de saída.Para um despejo de arquivo, o arquivo inclui as entradas de oplog.
Ao restaurar, reproduza as entradas do oplog com
mongorestore --oplogReplay. Você pode usarmongodump --oplogjunto commongorestore --oplogReplaypara garantir que os dados estejam atuais e incluam 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.mapReduce(esta operação renomeia implicitamente uma coleção)Operações que criam ou modificam usuários, funções ou privilégios
setDefaultRWConcerne outros comandos que modificam as configurações de todo o cluster
--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 faz dump da 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 dump de banco de dados.Observação
Para usar
mongodump--oplogcom, 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
Aviso
Não altere a versão de compatibilidade do recurso (FCV) entre o MongoDB 8.x e o MongoDB 9.0 enquanto o
mongodump --oplogestiver em execução em uma implantação que tenha coleções de séries temporais. O dump resultante abrange uma conversão de formato de série temporal, quemongorestore --oplogReplaynão pode reproduzir.A partir do Database Tools 100.18.0,
mongodumpfalha em vez de produzir um dump que você não pode restaurar. Para saber mais, consulte reprodução de Oplog em uma conversão de formato de série temporal.Para obter um exemplo de ponta a ponta do uso de
mongodump --oplogjunto commongorestore --oplogReplaypara criar um backup consistente enquanto aceita gravações, consulte Criar e restaurar arquivos de backup consistentes.
--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
--excludeCollectionopção, você deve especificar um banco de dados. Você pode especificar um banco de dados com a opção--db--uriou na string de conexão.
--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
--excludeCollectionsWithPrefixopção, você deve especificar um banco de dados. Você pode especificar um banco de dados com a opção--db--uriou na string de conexão.
--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 sobre 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 dump 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.