mongodump
Nesta página
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
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.
mongodump
pode se conectar a instânciasmongod
e mongos
.
É possível restaurar os arquivos BSON gerados no mongodump
para implantações do MongoDB que estejam executando a mesma versão ou a versão mais recente da implantação de origem. No entanto, restaurar arquivos para uma implantação rodando numa versão mais recente não é a maneira recomendada de atualizar sua implantação. Para aprender a fazer upgrade de sua implantação, consulte a documentação sobre fazer upgrade.
Execute mongodump
na linha de comando do sistema, não no shell mongo
.
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.
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.bson
opcional, 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
--host
e--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éplica e nós 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éplica e nós 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 usar um documento entre aspas
'{ mode: <mode>, tagSets: [ <tag1>, ... ], maxStalenessSeconds:<num>}'
para especificar o modo, os conjuntos de tags de read preference opcionais e o maxStalenessSeconds:opcionalmongodump --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 o mongodump
:
Transações entre shards
Operações de linguagem de definição de dados (operações que criam e modificam coleções)
Balanceamento de chunks
Para parar o balancer, 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 do
mongos
na opção--uri connection string
:mongodump --uri="mongodb://mongos0.example.com:27017" [additional options] Especifique o nome do host e a porta da instância
mongos
na 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 usar um documento entre aspas
'{ mode: <mode>, tagSets: [ <tag1>, ... ], maxStalenessSeconds: <num>}'
para especificar o modo, os conjuntos de tags de read preference opcionais e o maxStalenessSeconds:opcionalmongodump --host="mongos0.example.com:27017" --readPreference='{mode: "secondary", tagSets: [ { "region": "east" } ]}' [additional options]
Opções
--verbose, -v
Aumenta a quantidade de relatórios internos retornados no resultado padrão ou em arquivos de log. Aumente a verbosidade com a forma
-v
incluindo a opção várias vezes. Por exemplo:-vvvvv
.
--quiet
Executa
mongodump
em um modo silencioso que tenta limitar a quantidade de resultado.Esta opção suprime:
Saída de comandos do banco de dados
atividade de replicação
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 contendo valores sensíveis para as seguintes opções para
mongodump
:Esta é a maneira recomendada de especificar uma senha para
mongodump
, além de especificá-la por meio de um prompt de senha.O arquivo de configuração recebe o seguinte formulário:
password: <password> uri: mongodb://mongodb0.example.com:27017 sslPEMKeyPassword: <password> Especificar uma senha para o campo
password:
e fornecer uma cadeia de conexão no campouri:
que contém uma senha conflitante resultará em um erro.Certifique-se de proteger este arquivo com permissões de sistema de arquivos apropriadas.
Observação
Se você especificar um arquivo de configuração com
--config
e também usar a opção--password
,--uri
ou--sslPEMKeyPassword
paramongodump
, cada opção de linha de comando, substituirá a opção correspondente no arquivo de configuração.
--uri=<connectionString>
Especifica a connection string 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
domongodump
, 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
--uri
ou como um argumento posicional, resultará em um erro.Para obter informações sobre os componentes da cadeia de conexão, consulte a documentação Formato de URI da cadeia 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
mongodump
no Ubuntu 18.04, você poderá ver uma mensagem de errocannot unmarshal DNS
ao 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
--uri
com uma string de conexão não SRV (no formuláriomongodb://
)a opção
--host
para especificar o host e conectar diretamente
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 comops
que podem ser invocados por outros usuários. Em vez disso, considere:omitindo a senha na cadeia de conexão para receber um prompt de senha interativo , ou
utilizando a opção
--config
para especificar um arquivo de configuração que contém a senha.
--host=<hostname><:port>, -h=<hostname><:port>
Padrão: localhost:27017
Especifica o nome de host resolvível do sistema MongoDB. Por padrão,
mongodump
tenta 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
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,
mongodump
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 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--host
e especificar informações conflitantes resultará em um erro.
--port=<port>
Padrão: 27017
Especifica a porta TCP na qual a instância do MongoDB escuta conexões de cliente.
Alternativamente, você também pode especificar a porta diretamente no
URI connection string
. Fornecer uma string de conexão ao mesmo tempo em que usa--port
e especificar informações conflitantes resultará em um erro.
--ssl
Habilita uma conexão para um
mongod
oumongos
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.
--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 noURI connection string
. Fornecer uma string de conexão e, ao mesmo tempo, usar--sslCAFile
e especificar informações conflitantes resultará em um erro.
--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 ummongod
oumongos
que temCAFile
habilitado semallowConnectionsWithoutCertificates
.Como alternativa, você também pode especificar o arquivo
.pem
diretamente noURI connection string
. Fornecer uma string de conexão e, ao mesmo tempo, usar--sslPEMKeyFile
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`--sslPEMKeyPassword
somente se o arquivo da chave de certificado for codificado. A opçãomongodump
sempre 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
,mongodump
solicitará 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--sslPEMKeyPassword
e especificar informações conflitantes resultará em um erro.Aviso
Em alguns sistemas, uma senha fornecida diretamente utilizando a opção
--sslPEMKeyPassword
pode ser visível para programas de status do sistema comops
que podem ser invocados por outros usuários. Considere utilizar a opção--config
para especificar um arquivo de configuração contendo a senha.
--sslCRLFile=<filename>
Especifica o arquivo
.pem
que contém a lista de certificados revogados. Especifique o nome do arquivo.pem
usando caminhos relativos ou absolutos.
--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
oumongos
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.
--sslAllowInvalidHostnames
Desabilita a validação dos nomes de host em certificados TLS/SSL. Permite que o
mongodump
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.
--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--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: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--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: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
--password
pode ser visível para programas de status do sistema comops
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, ouutilizando a opção
--config
para especificar um arquivo de configuração que contém a senha.
--awsSessionToken=<AWS Session Token>
Se você se conectar a um cluster do MongoDB Atlas usando o
MONGODB-AWS
authentication mechanism
e usando tokens de sessão além do ID da chave de acesso Amazon Web Services e da chave de acesso do secret do Kubernetes, você poderá especificar o token da sessão da Amazon Web Services em:esse campo,
o parâmetro
AWS_SESSION_TOKEN
authMechanismProperties
para 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-AWS
authentication 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
mongodump
assumirá 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
mongodump
presumirá que o banco de dadosadmin
contém as credenciais do usuário.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
mongodump
utiliza para autenticar nomongod
oumongos
.Alterado na versão 100.1.0: A partir da versão
100.1.0
, omongodump
adiciona suporte ao mecanismo de autenticaçãoMONGODB-AWS
ao se conectar a um cluster do MongoDB Atlas.ValorDescriçãoRFC 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 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 apenas no MongoDB Enterprise.PLAIN (LDAP SASL)Autenticação externa usando LDAP. Você também pode utilizar oPLAIN
para autenticar usuários do banco de dados.PLAIN
transmite senhas em texto simples. Esse mecanismo está disponível apenas no MongoDB Enterprise.Alternativamente, você também pode especificar o mecanismo de autenticação diretamente no
URI connection string
. Fornecer uma string de conexão ao mesmo tempo em que usa--authenticationMechanism
e especificar informações conflitantes resultará em um erro.
--gssapiServiceName
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.
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--gssapiServiceName
e especificar informações conflitantes resultará em um erro.
--gssapiHostName
Especifique 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,
mongodump
copiará 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--db
e 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
$regex
commongodump
, utilize a seguinte sintaxe:mongodump -d=sample_mflix -c=movies -q='{ "year": { "$regex": "20" } }' Observação
Ao usar a opção
--query
em 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
.--queryFile
permite que você crie filtros de consulta que são grandes demais para caber no buffer do terminal.Observação
Ao usar a opção
--queryFile
em uma coleção de séries temporais, só é possível executar uma query no campo especificado comometaField
.
--readPreference=<string|document>
Padrão:
primary
Especifica a preferência de leitura para
mongodump
. A opção--readPreference
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 a 90.
mongodump
primary
tem 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--readPreference
substituirá a preferência de leitura definida na string URI.
--gzip
Compacta a saída. Se
mongodump
tiver o diretório de despejo como saída, o novo recurso compactará os arquivos individuais. Os arquivos apresentam o sufixo.gz
.Se
mongodump
gera 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
mongodump
gravará arquivos BSON para os bancos de dados despejados. Por padrão, omongodump
salva os arquivos de saída em um diretório denominadodump
no 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 usargzip
para compactar o despejo. Ao gravar a saída padrão,mongodump
não grava os metadados gravados em um arquivo<dbname>.metadata.json
ao gravar diretamente nos arquivos.Você não pode utilizar a opção
--archive
com 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
mongodump
com 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
mongodump
com 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
mongodump
gravar em um arquivo arquivado, o desempenho domongodump
poderá melhorar. Para obter mais informações sobre os impactos no desempenho domongodump
, consulte Considerações sobre formatos de saída.
--oplog
Cria um arquivo denominado
oplog.bson
como 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.bson
na operação de restauração, usemongorestore --oplogReplay
. Você pode usarmongodump --oplog
commongorestore --oplogReplay
para 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
. Para fazer backup de clusters fragmentados commongodump
, consulte Fazer backup de um cluster fragmentado autogerenciado com um descarte de banco de dados.Importante
Um
mongodump
em execução com--oplog
falhará se um cliente emitir qualquer uma das operações listadas durante o processo de despejo.--oplog
não tem efeito ao executarmongodump
em uma instânciamongos
para despejar todo o conteúdo de um cluster fragmentado.--oplog
só funciona com nós que mantêm um oplog. Isso inclui todos os membros de um conjunto de réplicas.--oplog
não despeja a coleção oplog.Observação
Para usar
mongodump
com--oplog
, você deve criar um dump completo de um membro do conjunto de réplicas.mongodump
com--oplog
falha se você usar qualquer uma das seguintes opções para limitar os dados a serem despejados:--db
--collection
--dumpDbUsersAndRoles
--query
--dumpDbUsersAndRoles
Inclui definições de usuário e função no diretório de despejo do banco de dados na execução do
mongodump
em 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 quandomongodump
se 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--excludeCollection
várias vezes.
--excludeCollectionsWithPrefix=<string>
Exclui das saídas de
mongodump
todas as coleções que tenham o prefixo especificado. Para especificar vários prefixos, insira--excludeCollectionsWithPrefix
várias vezes.
--numParallelCollections=<int>, -j=<int>
Padrão: 4
O número de coleções que o
mongodump
deve exportar em paralelo.
--viewsAsCollections
Quando especificado, o
mongodump
exporta visualizações como coleções.Observação
Somente visualizações são exportadas. Por padrão,
mongodump
exporta apenas os metadados de uma visualização. Para exportar os documentos em uma exibição, use a opção--viewsAsCollections
.Para cada visualização,
mongodump
cria um arquivo BSON contendo os documentos na visualização. Se você utilizar omongorestore
com um arquivo BSON criado pelomongodump
, a visualização será restaurada como uma coleção.Se você não incluir
--viewsAsCollections
, omongodump
capturará 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.
Saiba mais
Para obter mais informações sobre mongodump
, consulte:
Para obter 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.