Aviso
Ao fazer um dump 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 que não diferenciam maiúsculas de 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 JSON estendido2 (v) do MongoDB 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 prefixadas. O mecanismo DBRefs é uma exceção a esta regra geral.
Comportamento
Usando mongodump sem um authSource
Quando oauthSourcenão é especificado no URI MongoDB , o nome do banco de dados especificado no--dbé utilizado para autenticar sua sessão do mongodump e indicar o banco de dados que está sendo despejado. Para um exemplo de utilizar um banco de dados diferente para autenticação ao utilizar o 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,setFeatureCompatibilityVersion consulte.
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, certifique-se que você está utilizando a mesma versão do mongorestore para carregar os arquivos de dados como a versão do mongodump usada para criá-los. Na prática, o uso de uma versão diferente de mongorestore geralmente funciona, mas se o formato de despejo for alterado entre as versões, a restauração pode falhar ou restaurar os dados incorretamente. Por exemplo, se você usar mongodump versão 100.19.0 para criar o dump, use mongorestore versão 100.19.0 para restaurá-la.
Coleções de Time Series
Para despejar coleções de séries temporais de um MongoDB.9 0 sistema, utilize 100 o Database16 Tools..0 ou posterior. As versões anteriores do Database Tools leem os namespaces do bucket de séries temporais diretamente, o que o MongoDB.9 0 não permite. Se você usar uma versão anterior do Database Tools , mongodump será interrompido com um CommandNotSupportedOnLegacyTimeseriesBucketsNamespace erro. Para resolver o erro, atualize para a versão mais recente das Database Tools .
Se uma conversão de formato de série temporal for iniciada enquanto mongodump lê uma coleção de séries temporais, a operação falhará com um erro InterruptedDueToTimeseriesUpgradeDowngrade. O dump não é truncado ou corrompido. Para resolver o erro, aguarde a conclusão da alteração da versão de compatibilidade do recurso (FCV) e execute mongodump novamente. Para saber mais sobre a conversão, consulte Replay do Oplog em uma conversão de formato de série temporal.
readPreference
Por padrão, mongodump usa a 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
--dbforadmin:Se você não estiver conectado a um Atlas Proxy,
mongodumpdespeja o banco de dados, mas exclui a coleçãosystem.keys.Se você estiver conectado a um Atlas Proxy,
mongodumptentará despejar o banco de dados, mas ocorrerá um erro.
Se o valor de
--dbforconfig,mongodumpdespejará todas as coleções nesse banco de dados.Se o valor de
--dbforlocal,mongodumpdespejará todas as coleções nesse banco de dados.Para todos os outros bancos de dados,
mongodumpexclui todas as collections que começam comsystem., excetosystem.js.
Se você omitir a opção --db, as seguintes exclusões se aplicarão:
mongodumpexclui o banco de dadoslocal.mongodumpinclui apenas as seguintes collection na saída do reconhecimento de data centerconfig:chunkscollectionsdatabasessettingsshardstagsversion
Se você estiver conectado a um Atlas Proxy, o
mongodumpexclui 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 devem reconstruir os índices após a restauração dos mongod dados.
Se você estiver usando visualizações:
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 JSON v2 0 estendido. (Canonical) para os arquivos de metadados. Para analisar esses arquivos para restauração,mongorestore use, que oferece suporte ao formato JSON2 0 estendido v. ( 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 é executado durante
reshardCollectionumamongodumpoperação.
Tratamento de compactação de dados
Quando executado em uma mongod instância do 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 tier gratuito e compartilhado do Atlas
Em clusters de tier gratuito (M0) e compartilhado (M2 e M5) do Atlas, as seguintes limitações se aplicam:
Não é possível executar
mongodumpno banco de dadosadmin. Por padrão,mongodumpignora esse banco de dados. Se você usar a opção--dbpara 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:
Usando mongodump em clusters de banco de dados infinitos do Atlas
mongodump suporta a opção --oplog quando você despeja dados de um cluster do Banco de Dados Infinito do Atlas . A repetição do Oplog não é suportada com clusters de Banco de Dados Infinito do Atlas . Para obter detalhes, consulte Comportamento, acesso e uso do mongorestore.
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 controle de acesso ativado, você deve ter privilégios que concedam find a ação para cada banco de dados a backup ser submetido a backup. A função incorporada fornece os privilégios necessários para executar o backup de todo e qualquer banco de dados.
Uso na estratégia de backup
Sistemas autônomos e conjuntos de réplicas
Paramongodump backups autônomo ou standalone, o pode fazer parte de uma estratégia de backup com o mongorestore para backups parciais com base em uma query, sincronização de ambientes de produção e preparação ou alteração do mecanismo de armazenamento de um.
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: