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

mongodump

Nesta página

  • Definição
  • Sintaxe
  • Opções
  • Saiba mais

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

  • Instâncias sem servidor

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.

Dica

Veja também:

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.

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ção mongodump --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 do mongodump. Para gerar um arquivo oplog.bson, use a opção mongodump --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.

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.

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

    mongodump --host="mongos0.example.com:27017" --readPreference='{mode: "secondary", tagSets: [ { "region": "east" } ]}' [additional options]
--help

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

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

--version

Retorna o número de versão mongodump.

--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 campo uri: que contém uma senha conflitante resultará em um erro.

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

Observação

Se você especificar um arquivo de configuração com --config e também usar a opção --password, --uri ou --sslPEMKeyPassword para mongodump, 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 do mongodump, 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:// ou mongodb+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 erro cannot unmarshal DNS ao usar strings de conexão SRV (no formato mongodb+srv://) com a opção --uri. Nesse caso, use uma das seguintes opções:

Aviso

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

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

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

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

Padrão: localhost:27017

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

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

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

Ao definir o formato da lista de conjuntos de réplicas, 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 ou mongos que tenha suporte a TLS/SSL habilitado.

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

--sslCAFile=<filename>

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

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

--sslPEMKeyFile=<filename>

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

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

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

--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ção mongodump 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 como ps que podem ser invocados por outros usuários. Considere utilizar a opção --config para especificar um arquivo de configuração contendo a senha.

--sslCRLFile=<filename>

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

--sslAllowInvalidCertificates

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

Aviso

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

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

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

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

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:

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

Aviso

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

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

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

--awsSessionToken=<AWS Session Token>

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

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

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

--authenticationDatabase=<dbname>

Especifica o banco de dados de autenticação onde o --username <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 dados admin 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 no mongod ou mongos.

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

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

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

Exige featureCompatibilityVersion definido para 4.0.

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

Autenticação externa usando credenciais 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 o PLAIN para autenticar usuários do banco de dados. PLAIN transmite senhas em texto simples. Esse mecanismo está disponível apenas no MongoDB Enterprise.

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

--gssapiServiceName

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 com mongodump, 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 o metaField.

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

--readPreference=<string|document>

Padrão: primary

Especifica a preferência de leitura para mongodump. A opção --readPreference pode levar:

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, o mongodump salva os arquivos de saída em um diretório denominado dump 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 usar gzip 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 do mongodump poderá melhorar. Para obter mais informações sobre os impactos no desempenho do mongodump, consulte Considerações sobre formatos de saída.

--oplog

Cria um arquivo denominado oplog.bson como parte da saída do mongodump. O arquivo oplog.bson, localizado no nível superior do diretório de saída, contém entradas de oplog que ocorrem durante a operação mongodump.

Para aplicar entradas de oplog do arquivo oplog.bson na operação de restauração, use mongorestore --oplogReplay. Você pode usar mongodump --oplog com mongorestore --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 com mongodump, 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 executar mongodump em uma instância mongos 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

Dica

Veja também:

--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 quando mongodump 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 o mongorestore com um arquivo BSON criado pelo mongodump, a visualização será restaurada como uma coleção.

Se você não incluir --viewsAsCollections, o mongodump capturará os metadados de cada visualização. Se você incluir um arquivo de metadados de visualização em uma operação do mongorestore, a visualização será recriada.

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.

Voltar

Documentação das ferramentas de banco de dados MongoDB

Próximo

Compatibilidade e instalação