Comportamento, acesso e uso do mongodump
Aviso
Ao fazer o download em um sistema de arquivos que não diferencia maiúsculas de minúsculas, como Windows ou macOS, as coleções com nomes que diferem apenas pela capitalização serão substituídas. Para sistemas de arquivos sensíveis a maiúsculas e minúsculas, sempre use a opção --archive .
Aviso
Despejo de dados e restauração de conflitos com prefixo $ em campos
A partir do MongoDB 5.0, os nomes dos campo do documento podem ser prefixados com um caractere de dólar ($
). No entanto, mongodump
e mongorestore
não funcionarão com nomes de campo prefixados com um caractere de dólar nas opções de uma coleção.
O MongoDB Extended JSON (v2) não consegue diferenciar entre os wrappers de tipo e os campos que têm o mesmo nome dos wrappers de tipo. Não use formatos JSON estendidos se a representação BSON correspondente puder incluir chaves de prefixo $
. O mecanismo DBRefs é uma exceção a esta regra geral.
Comportamento
Usando mongodump
sem um authSource
Quando o authSource
não é especificado no URI MongoDB , o nome do banco de dados de dados especificado no --db
é utilizado para autenticar sua sessão do mongodump
e indicar o banco de dados de dados que está sendo despejado. Para obter um exemplo de como usar um banco de banco de dados diferente para autenticação ao usar mongodump
, consulte Autenticação com um banco de dados específico.
Restaurar para a versão do servidor correspondente
Ao usar mongorestore
para carregar arquivos de dados criados por mongodump
, as versões do MongoDB das implantações de origem e destino devem ser:
A mesma versão principal.
A mesma versão de compatibilidade do recurso.
Por exemplo, se o seu dump foi criado a partir de uma implantação do MongoDB executando a versão 4.4
, a implantação do MongoDB para a qual você restaurou também deve executar a versão 4.4
ou ter seu FCV definido como 4.4
.
Para alterar sua versão de compatibilidade do recurso, consulte setFeatureCompatibilityVersion
.
Observação
É 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.
Essa garantia não se aplica a arquivos de metadados, arquivamento ou reprodução de oplog. Se você tentar restaurar estes arquivos utilizando diferentes versões de implantação de origem e destino, o processo mongorestore
poderá resultar em falha, falha silenciosa ou metadados corrompidos.
Além disso, você deve usar a mesma versão do mongorestore
para carregar os arquivos de dados como a versão do mongodump
usada para criá-los. Por exemplo, se você usou o mongodump
versão 100.10.0
para criar o despejo, use a mongorestore
versão 100.10.0
para restaurá-lo.
readPreference
Por padrão, o mongodump
utiliza preferência de leitura primary
. Para substituir o padrão, você pode especificar a preferência de leitura na opção de linha de comando --readPreference
ou na --uri connection string
.
Se a preferência de leitura for especificada na string URI e na opção --readPreference
, o valor --readPreference
substituirá a preferência de leitura especificada na string URI.
Exclusão de dados
Se você especificar as opções --db
e --collection
, mongodump
despejará a coleção especificada.
Se você especificar apenas a opção --db
, mongodump
descartará esse banco de dados com as seguintes exclusões:
Se o valor de
--db
foradmin
:Se você não estiver conectado a um Atlas Proxy,
mongodump
despeja o banco de dados, mas exclui a coleçãosystem.keys
.Se você estiver conectado a um Atlas Proxy,
mongodump
tentará despejar o banco de dados, mas ocorrerá um erro.
Se o valor de
--db
forconfig
,mongodump
despejará todas as coleções nesse banco de dados.Se o valor de
--db
forlocal
,mongodump
despejará todas as coleções nesse banco de dados.Para todos os outros bancos de dados,
mongodump
exclui todas as collections que começam comsystem.
, excetosystem.js
.
Se você omitir a opção --db
, as seguintes exclusões se aplicarão:
mongodump
exclui o banco de dadoslocal
.mongodump
inclui apenas as seguintes collection na saída do reconhecimento de data centerconfig
:chunks
collections
databases
settings
shards
tags
version
Se você estiver conectado a um Atlas Proxy, o
mongodump
exclui o banco de banco de dados doadmin
.
mongodump
saída:
Contém os documentos no banco de dados e as definições de índice.
Não contém os dados de índice.
mongorestore
ou mongod
devem reconstruir os índices após a restauração dos dados.
Se você estiver usando visualizações:
Por padrão,
mongodump
exporta apenas os metadados de uma visualização.mongodump
não cria uma exportação binária dos documentos incluídos na visualização.Para exportar os documentos em uma visualização, use
--viewsAsCollections
.
Saída de metadados
Se mongodump
tiver saída para um diretório, a saída conterá metadados de coleção que incluirão as seguintes propriedades:
Nomes de coleção
Tipos de coleção
Opções de configuração da coleção
UUIDs
Indexes
Se mongodump
for enviado para a saída padrão (stdout
), a saída não incluirá metadados. Para obter mais informações, consulte a opção --out
.
Formato de metadados
mongodump
usa o formato Extended JSON v2.0 (Canonical) para os arquivos de metadados. Para analisar esses arquivos para restauração, use mongorestore
, que oferece suporte a JSON estendido v2.0 formato (modo canônico ou relaxado) .
Sobrescrever arquivos
mongodump
substitui os arquivos de saída se eles existirem na pasta de dados de backup. Antes de executar o comando mongodump
várias vezes, verifique se você não precisa mais dos arquivos na pasta de saída (o padrão é a pasta dump/
) ou renomeie as pastas ou arquivos.
mongodump
Durante a refragmentação
mongodump
falha se:
mongodump
é iniciado quando uma operação de refragmentação está em andamento.O comando
reshardCollection
é executado durante uma operaçãomongodump
.
Tratamento de compactação de dados
Quando executado em uma instância do mongod
que utiliza o mecanismo de armazenamento WiredTiger , o mongodump
gera dados não comprimidos.
Conjunto de trabalho
mongodump
pode afetar adversamente o desempenho do mongod
. Se seus dados forem maiores do que a memória do sistema, mongodump
empurrará o conjunto de trabalho para fora da memória.
DICAS
mongodump
cria automaticamente conexões compatíveis com FIPS para um mongod
ou mongos
que é configurado para usar o modo FIPS.
Usando mongodump
em clusters de nível gratuito e compartilhado do Atlas
Em clusters de nível gratuito (M0
) e compartilhado (M2
e M5
) do Atlas, as seguintes limitações se aplicam:
Não é possível executar
mongodump
no banco de dadosadmin
. Por padrão,mongodump
ignora esse banco de dados. Se você usar a opção--db
para configurar o banco de dados de destino paraadmin
, o programa retornará um erro.Você não pode usar as seguintes opções com o programa
mongodump
:
Observação
Rollbacks de cluster de destino
Se o cluster sofrer uma reversão durante o processo de restauração, exclua todos os dados restaurados ou importados e refaça o processo desde o início. Consulte a documentação de reversão para obter mais detalhes.
Acesso necessário
Para executar mongodump
em um MongoDB deployment que tenha o controle de acesso ativado, você deve ter privilégios que concedam a ação find
para cada banco de dados de dados a ser submetido a backup. A função backup
integrada fornece os privilégios necessários para realizar o backup de todo e qualquer banco de dados.
Uso na estratégia de backup
Sistemas autônomos e conjuntos de réplicas
Para um conjunto de réplicas ou standalone, mongodump
pode fazer parte de uma estratégia de backup com mongorestore
para backups parciais baseados em query, sincronizando ambientes de produção para ambientes de teste ou de desenvolvimento ou alterando o mecanismo de armazenamento de um standalone.
Para obter detalhes sobre como usar o mongodump
com mongorestore
como parte de uma estratégia de backup e recuperação, consulte:
Clusters fragmentados
Para usar mongodump
e mongorestore
como uma estratégia de backup para clusters fragmentados, consulte Fazer backup de um cluster fragmentado autogerenciado com um descarte de banco de dados.
Os clusters fragmentados também podem usar um dos seguintes processos coordenados de backup e restauração, que garantem a atomicidade entre fragmentos e, ao mesmo tempo, aceitam gravações: