Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Carregar dados em um Atlas cluster infinito

Para carregar seus próprios dados em um Atlas Infinite cluster, utilize um dos seguintes métodos:

  • mongodump e mongorestore: mongodump cria uma exportação binária dos dados de um MongoDB autônomo ou conjunto de réplicas existente, incluindo um cluster Atlas Core, e mongorestore carrega os dados em um cluster Atlas Infinite. Use este método quando seus dados de origem estiverem em uma MongoDB deployment. Para saber como, consulte Restaurar dados de uma implementação do MongoDB .

  • mongoimport: mongoimport carrega documentos de um JSON ou CSV arquivo em um Atlas Infinite cluster. Use este método quando seus dados de origem estiverem em um arquivo externo ao MongoDB. O arquivo pode vir de mongoexport ou de uma ferramenta de exportação de terceiros. Para saber como, consulte Importar dados de um arquivo JSON ou CSV.

  • Operações de gravação em massa: os métodos de banco de dados do MongoDB gravam lotes de documentos em um cluster Atlas Infinite. Use este método ao gerar ou transformar os documentos a partir de um aplicação, mongosh, UI do Atlas ou outra interface. Para saber como, consulte Gravar dados que você gera.

Cada um destes métodos consome capacidade de gravação no Atlas Infinite cluster de destino. Para limitar o efeito em seus aplicativos, execute grandes cargas de dados durante o uso do sistema sem pico ou em uma período de manutenção programada.

Conclua os seguintes pré-requisitos:

mongodump cria uma exportação binária de um conjunto de réplicas ou autônomo do MongoDB existente e mongorestore carrega essa exportação para um cluster Atlas Infinite. A exportação inclui dados, metadados e índices da implantação de origem. Para obter orientação sobre como copiar dados de um cluster fragmentado MongoDB existente, consulte Solicitar suporte.

Você também pode usar esse procedimento para migrar dados de um cluster gratuito ou cluster flexível no Atlas Core para um cluster dedicado no Atlas Infinite. Para escalar um cluster gratuito ou cluster flexível em vez de migrar dados, consulte Dimensionar um cluster gratuito ou flexível para um cluster dedicado.

Este procedimento requer tempo de inatividade. Pare as gravações em seu sistema de origem, execute mongodump e mongorestore e, em seguida, transfira seus aplicativos para o Atlas Infinite cluster.

Antes de executar este procedimento, considere os seguintes comportamentos:

  • Consistência de dados: para evitar a perda de dados, pause as gravações em seu sistema de origem antes de executar o mongodump. Se você executar mongodump de um membro secundário, pause as gravações e aguarde até que o secundário alcance o primário antes de iniciar o despejo.

  • Usuários e funções: O Atlas gerencia usuários do banco de dados , portanto,mongorestore não pode migrar usuários ou funções do banco de dados existentes para o cluster de destino. Crie os utilizadores de banco de dados necessários para suas aplicações no cluster Atlas Infinite de destino. Para saber mais, consulte Configurar usuários do banco de dados.

  • Namespaces excluídos: Os diretórios admin e config no despejo contêm informações de usuário que mongorestore não pode adicionar a um Atlas cluster Infinite, então o procedimento exclui admin.* e config.*.

  • Recursos do host: mongodump é executado em um host com acesso de rede ao sistema de origem e mongorestore é executado em um host com acesso ao arquivo compactado e acesso de rede ao sistema de destino. Ambas as ferramentas usam CPU e memória no host, o que pode afetar o desempenho do host.

1

Se o sistema de origem impuser autenticação, mongodump deverá se autenticar como um usuário de banco de dados que possa ler todos os banco de dados que você migrar. A função backup no banco de dados admin concede estes privilégios.

Se esse usuário não existir em seu sistema de origem, crie um. Para saber como criar e gerenciar usuários do banco de dados , consulte a seguinte página para seu tipo de sistema:

2

mongorestore deve autenticar como um usuário de banco de dados que pode escrever em todos os banco de dados que você migrar. A função Atlas admin no cluster Atlas Infinite de destino concede estes privilégios.

Se um usuário assim não existir no seu cluster Atlas Infinite de destino, crie um. Para saber como criar e gerenciar usuários de banco de dados no Atlas, consulte Configurar usuários de banco de dados.

3

Certifique-se de que o host em que você executa mongodump e mongorestore possa acessar ambos os sistemas:

  • Adicione o host à lista de acesso IP do projeto que contém seu Atlas Infinite cluster de destino. Para saber como adicionar um host a uma lista de acesso IP, consulte Configurar entradas de lista de acesso IP.

  • Se seu sistema de origem for um Atlas Core cluster em um projeto diferente, adicione o host à lista de acesso IP desse projeto também. Se seu sistema de origem for autogerenciado, configure o firewall para aceitar conexões do host. Para saber mais, consulte Proteção de rede e configuração.

Se você configurar o emparelhamento VPC, poderá adicionar o bloco CIDR da VPC do par ou uma sub-rede, ou o grupo de segurança da VPC emparelhada à lista de acesso IP. Para saber mais, consulte Lista de acesso IP.

4
  1. Montar o comando mongodump.

    O modelo de comando mongodump a seguir se conecta a um conjunto de réplicas de origem ou a um cluster autônomo usando sua string de conexão e gera um arquivo do despejo para um arquivo.

    Copie o modelo no editor de texto de sua preferência e substitua o espaço reservado <connectionString> pela string de conexão para seu sistema de origem, e <fileName> pelo nome do arquivo compactado a ser criado.

    mongodump --uri "<connectionString>" --archive=<fileName>.archive

    Para saber como construir uma string de conexão para seu sistema de origem, consulte Connection strings.

    Observação

    Se estiver usando mongodump ou mongorestore no Ubuntu.,18 04você poderá receber uma cannot unmarshal DNS mensagem de erro ao usar connection strings SRV (no mongodb+srv:// formato) com a --uri opção. Nesse caso, use uma das seguintes opções:

    • a --uri opção com uma string de conexão não SRV (no mongodb:// formato)

    • a opção --host para especificar o host para conectar diretamente

  2. Execute o comando concluído a partir de um terminal ou prompt de comando em um host que tenha acesso de rede ao seu sistema de origem.

    Exemplo

    O comando mongodump a seguir se conecta a um cluster de origem Atlas Core usando uma string de conexão SRV, que contém o nome de usuário (mySourceUsername) e a senha (mySourcePassword) de um usuário de banco de dados com a função backup na admin banco de dados. O comando gera um arquivo do despejo para um arquivo chamado mongodump.archive no diretório de trabalho atual.

    mongodump --uri "mongodb+srv://mySourceUsername:mySourcePassword@cluster0.example.mongodb.net" \
    --archive="mongodump.archive"
5
  1. Montar o comando mongorestore.

    O modelo de comando mongorestore a seguir se conecta ao cluster Atlas Infinite de destino usando sua string de conexão e restaura o arquivo criado por mongodump. Ele usa --nsExclude para excluir os bancos de dados admin e config, que o Atlas gerencia.

    Copie o modelo no editor de texto de sua preferência e substitua os seguintes espaços reservados pelos valores apropriados:

    • <connectionString>: substitua isso pela string de conexão SRV para seu cluster Atlas Infinite de destino. Para recuperar ou construir uma string de conexão para o cluster de destino, consulte Connection strings.

      Inclua o nome de usuário e a senha de um usuário de banco de dados com a função Atlas admin na string de conexão.

    • <filePath>: substitua isso pelo caminho para o arquivo criado por mongodump.

    Observação

    Se o nome de usuário ou senha incluir os seguintes caracteres, esses caracteres deverão ser convertidos usando codificação percentual:

    $ : / ? # [ ] @
    mongorestore --uri "<connectionString>" \
    --archive="<filePath>" \
    --nsExclude "admin.*" \
    --nsExclude "config.*"
  2. Execute o comando concluído a partir de um terminal ou prompt de comando em um host que tenha acesso ao arquivo criado por mongodump.

    Exemplo

    O comando mongorestore a seguir se conecta a um Atlas Infinite cluster usando uma string de conexão SRV, que contém o nome de usuário (myDestinationUsername) e a senha (myDestinationPassword) de um usuário de banco de dados com a função Atlas admin. O comando restaura o arquivo em mongodump.archive criado por mongodump, excluindo os bancos de dados admin e config.

    mongorestore --uri "mongodb+srv://myDestinationUsername:myDestinationPassword@cluster0.example.mongodb.net" \
    --archive="mongodump.archive" \
    --nsExclude "admin.*" \
    --nsExclude "config.*"
6

Após a migração ser concluída, conecte-se ao cluster do Atlas Infinite e verifique se os dados foram migrados com sucesso. Você pode executar queries para verificar a presença de suas coleções e documentos no cluster de destino.

7

Depois de verificar a migração, atualize seus aplicativos para se conectar ao Atlas Infinite cluster em vez do sistema de origem. Certifique-se de utilizar a string de conexão e credenciais corretas para o cluster Atlas Infinite.

mongoimport lê um arquivo JSON ou CSV e insere cada registro em uma collection em um Atlas Infinite cluster. O arquivo pode vir de uma ferramenta de exportação de terceiros. Para restaurar dados de uma implementação do MongoDB em um cluster Atlas Infinite, consulte Restaurar dados de uma implementação do MongoDB .

Antes de executar este procedimento, considere os seguintes comportamentos:

1
  1. Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.

  2. Se ainda não estiver exibido, selecione seu projeto no menu Projects na barra de navegação.

  3. Na barra lateral, clique em Database & Network Access sob o título Security.

O banco de dados & A página Acesso à rede é exibida depois de concluir as etapas anteriores.

2

Para executar mongoimport para gravar em um Atlas cluster, é necessário especificar um usuário de banco de dados que tenha privilégios de leitura e gravação no banco de dados para o qual os dados serão importados. Por exemplo, um usuário com papel Atlas admin fornece estes privilégios.

Se esse usuário não existir, crie o usuário:

  1. Se ainda não estiver sendo exibido, clique na aba Database Users.

  2. Clique em Add New Database User.

  3. Adicione um usuário Atlas admin .

3
  1. Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.

  2. Se ainda não estiver exibido, selecione o projeto desejado no menu Projects na barra de navegação.

  3. Na barra lateral, clique em Clusters sob o título Database.

A página Clusters é exibida.

4

Clique em Connect para o cluster do Atlas para o qual você deseja migrar os dados.

5

Se o host onde você executará não mongoimport estiver na Lista de Acesso IP, atualize a lista. Você pode especificar:

  • O endereço IP público do servidor no qual o mongoimport será executado, ou

  • Para o emparelhamento VPC, você pode definir o bloco VPC CIDR do peer (ou uma sub-rede) ou o Grupo de Segurança do peer VPC, se você escolher a AWS como seu fornecedor de serviço em nuvem.

6

Você pode se conectar ao cluster do Atlas usando sua cadeia de conexão URI. Na caixa de diálogo de conexão, execute as seguintes etapas:

  1. Clique em Drivers.

  2. Copie a cadeia de conexão localizada na etapa 1.

  3. Substitua SENHA pela senha do usuário root e DATABASE pelo nome do banco de dados ao qual você deseja se conectar.

    Importante

    Você deve trocar quaisquer instâncias do caractere @ no <PASSWORD> fornecido. Por exemplo, p@ssword deve ser p%40ssword.

Essa string de conexão é especificada para mongoimport na --uri opção.

Ao utilizar o --host, se o Atlas cluster for um conjunto de réplicas, você também deverá recuperar o nome do conjunto de réplicas. Por exemplo:

myAtlasRS/atlas-host1:27017,atlas-host2:27017,atlas-host3:27017
7

As operações de gravação em massa enviam muitas gravações para um cluster Atlas Infinite em uma única solicitação, o que reduz as viagens de ida e volta da rede e aumenta a taxa de transferência de gravações. Escolha este método para gravar documentos que você gera em um cluster do Atlas Infinite, em vez de copiar dados de uma implantação ou arquivo existente.

Antes de executar este procedimento, considere os seguintes comportamentos:

  • Comportamento de gravação em massa: as operações de gravação e as opções que você especifica em uma solicitação de gravação em massa determinam como o MongoDB ordena operações de gravação, lida com erros e relata os resultados de uma solicitação. Para saber como essas opções afetam o comportamento de escrita em massa, consulte a página de referência bulkWrite().

  • Outras interfaces: para escrever um pequeno número de documentos sem lógica de lote, use insertMany() ou insertOne() de mongosh ou de um driver do MongoDB , ou a interface do usuário do Atlas, que insere documentos JSON que você cola ou digita.

1

Para executar as operações de gravação em massa neste procedimento, conecte-se ao cluster com mongosh. Para saber como, consulte Conectar a um Atlas cluster.

Você também pode executar operações de gravação em massa a partir do código do aplicação com um driver do MongoDB , a partir da UI do Atlas ou de qualquer outra interface que se conecte ao seu cluster. Para saber mais sobre as operações equivalentes em cada interface, consulte Operações de Gravação em Massa.

2

Para escrever em uma única collection, execute bulkWrite(). Para saber mais sobre os tipos de operação de escrita e as opções de escrita em massa, consulte bulkWrite().

Por exemplo, o seguinte comando insere dois documentos na collection inventory:

db.inventory.bulkWrite( [
{ insertOne: { document: {
_id: ObjectId("68b1c2d3e4f5a6b7c8d9e0f1"),
item: "notebook",
qty: 50
} } },
{ insertOne: { document: {
_id: ObjectId("68b1c2d3e4f5a6b7c8d9e0f2"),
item: "pencil",
qty: 100
} } }
] )

Para escrever em várias collections ou bancos de dados em uma solicitação, execute bulkWrite() e especifique o namespace para cada operação. Por exemplo, o comando a seguir insere um documento na coleção sales.inventory e um documento na coleção supplies.inventory:

db.getMongo().bulkWrite( [
{
namespace: "sales.inventory",
name: "insertOne",
document: { item: "notebook", qty: 50 }
},
{
namespace: "supplies.inventory",
name: "insertOne",
document: { item: "pencil", qty: 100 }
}
] )

Por padrão, as operações de gravação em massa são executadas em ordem e param no primeiro erro. Para saber como configurar a ordem de execução, consulte Execução de operações.

3

Revise as contagens que a operação retorna e confirme a contagem de documento em cada coleção de destino. Para saber mais,consulte Saída.

Para saber como lidar com erros em operações de escrita em massa, consulte Tratamento de erros.

O Atlas Infinite tem uma lista completa de limitações de visualização pública em Disponibilidade de visualização pública. As seguintes limitações se aplicam quando você carrega dados em um cluster Atlas Infinite:

  • Sem repetição de oplog: O Atlas Infinite não suporta repetição de oplog. Não utilize a opção mongodump --oplog ou a opção mongorestore --oplogReplay com agrupamentos do Atlas Infinite.

  • Queryable Encryption e criptografia no nível do campo do lado do cliente: você não pode usar mongodump ou mongorestore com uma coleção que usa Queryable Encryption ou criptografia no nível do campo do lado do cliente.

  • Migração ao vivo e restauração entre edições: o Atlas Infinite não oferece suporte à migração ao vivo ou backup e restauração entre os clusters do Atlas Core e do Atlas Infinite. As diferenças arquitetônicas entre as duas opções de implantação tornam os snapshots e as migrações ao vivo incompatíveis.