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.

Carregar dados em um cluster infinito do Atlas

Para carregar seus próprios dados em um cluster Atlas Infinite, use 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 implantação do MongoDB. Para aprender como, consulte Restaurar dados de uma implantação do MongoDB.

  • mongoimport: mongoimport carrega documentos de um arquivo JSON ou CSV para um cluster Atlas Infinite. 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 aprender como, consulte Importar dados de um arquivo JSON ou CSV.

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

Cada um desses métodos consome capacidade de gravar no cluster Atlas Infinite de destino. Para limitar o efeito em seus aplicativos, execute grandes cargas de dados durante períodos de baixo uso do sistema ou em um período de manutenção agendado.

Conclua os seguintes pré-requisitos:

mongodump cria uma exportação binária de um MongoDB autônomo ou conjunto de réplicas existente, e mongorestore carrega essa exportação em 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 sharded do MongoDB existente, consulte Solicitação de suporte.

Você também pode usar este procedimento para migrar dados de um cluster Free ou cluster Flex no Atlas Core para um cluster dedicado no Atlas Infinite. Para dimensionar um cluster Free ou cluster Flex no local em vez de migrar dados, consulte Dimensionar um cluster Free ou Flex para um cluster dedicado.

Este procedimento requer tempo de inatividade. Interrompa gravar na sua implantação de origem, executar mongodump e mongorestore e, em seguida, transfira seus aplicativos para o cluster Atlas Infinite.

Antes de executar este procedimento, considere os seguintes comportamentos:

  • Consistência de dados: Para evitar a perda de dados, pause as gravações na sua implantação de origem antes de executar mongodump. Se você executar mongodump de um secundário, pause gravar e aguarde até que o secundário alcance o primário antes de iniciar o dump.

  • Usuários e funções: o Atlas gerencia usuários de banco de dados, portanto, mongorestore não pode migrar usuários ou funções de banco de dados existentes para o cluster de destino. Crie os usuários de banco de dados de que seus aplicativos precisam no cluster Atlas Infinite de destino. Para saber mais, consulte Configurar usuários de banco de dados.

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

  • Recursos do hospedar: mongodump é executado em um hospedar com acesso de rede à sua implantação de origem, e mongorestore é executado em um hospedar com acesso ao arquivo e acesso de rede à sua implantação de destino. Ambas as FERRAMENTAS usam CPU e memória no hospedar, o que pode afetar o desempenho desse hospedar.

1

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

Se esse usuário não existir em sua implantação de origem, crie um. Para aprender como criar e gerenciar usuários de banco de dados, consulte a página a seguir para seu tipo de implantação:

2

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

Se esse usuário não existir no seu cluster Atlas Infinite de destino, crie um. Para aprender 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 hospedar onde você executa mongodump e mongorestore possa alcançar ambas as implantações:

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

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

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

4
  1. Montar o comando mongodump.

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

    Copie o modelo no seu editor de texto preferido e substitua o placeholder <connectionString> pela string de conexão da sua implantação de origem, e o <fileName> pelo nome do arquivo a ser criado.

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

    Para aprender como construir uma string de conexão para sua implantação de origem, consulte string de conexão.

    Observação

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

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

    • 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 à sua implantação de origem.

    Exemplo

    O comando mongodump a seguir conecta-se a um cluster Atlas Core de origem 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 no banco de dados admin. O comando gera um arquivo do dump 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 conecta-se ao seu 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 para o editor de texto de sua preferência e substitua os seguintes espaços reservados pelos valores apropriados:

    • <connectionString>: substitua por a string de conexão SRV para o seu cluster Atlas Infinite de destino. Para recuperar ou construir uma string de conexão para o seu cluster de destino, consulte Cadeias de conexão.

      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 morto criado por mongodump.

    Observação

    Se o nome de usuário ou senha incluir os seguintes caracteres, esses caracteres deverão ser convertidos usando a 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 hospedar que tenha acesso ao arquivo criado por mongodump.

    Exemplo

    O seguinte comando mongorestore conecta-se a um cluster Atlas Infinite usando uma string de conexão SRV, que contém o nome de usuário (myDestinationUsername) e a senha (myDestinationPassword) para 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 conclusão da migração, conecte-se ao seu cluster Atlas Infinite e verifique se os dados foram migrados com sucesso. Você pode executar query para verificar a presença de suas coleção e documento no cluster de destino.

7

Após verificar a migração, atualize seus aplicativo para se conectar ao cluster Atlas Infinite em vez da implantação de origem. Certifique-se de usar a string de conexão e as credenciais corretas para o cluster Atlas Infinite.

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

Antes de executar este procedimento, considere os seguintes comportamentos:

  • JSON estendido: mongoimport usa representação de modo estrito para determinados BSON types.

  • Apenas documentos: Ao contrário de mongorestore, mongoimport carrega apenas documentos, não opções de coleção ou definições de índice. Crie índices no cluster Atlas Infinite de destino após a conclusão da importação.

  • Recursos do hospedar: mongoimport é executado no hospedar que contém seu arquivo e usa CPU e memória nesse hospedar.

  • Outras interfaces: Para carregar um arquivo sem a linha de comando, use MongoDB Compass, que importa arquivos JSON e CSV, ou a IU do Atlas, que insere documentos JSON que você cola ou digita.

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.

A página Acesso ao banco de dados e à rede é exibida após a conclusão das etapas anteriores.

2

Para executar mongoimport para gravar em um cluster do Atlas, você deve especificar um usuário de banco de dados que tenha privilégios de readWrite no banco de dados para o qual importar dados. Por exemplo, um usuário com a função Atlas admin fornece esses 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 mongoimport não 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 URI de string de conexão. 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 opção --uri.

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 gravar em massa enviam muitas ações de gravar 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 ao gravar. Escolha este método para gravar documentos que você gera em um cluster 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 gravar em massa: As operações e opções de gravar que você especifica em uma solicitação de gravar em massa determinam como o MongoDB ordena as operações de gravar, lida com erros e relata os resultados de uma solicitação. Para aprender como essas escolhas afetam o comportamento de gravação em massa, consulte a página de referência bulkWrite().

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

1

Para executar as operações de gravar em massa neste procedimento, conecte-se ao seu cluster com mongosh. Para aprender como, consulte Conectar a um cluster do Atlas.

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

2

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

Por exemplo, o comando a seguir insere dois documentos na coleção inventory:

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

Para gravar em várias coleções 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 gravar em massa são executadas em ordem e param no primeiro erro. Para aprender como configurar a ordem de executar, consulte Execução de Operações.

3

Revisar as contagens que a operação retorna e confirmar a contagem de documentos em cada coleção de destino. Para aprender mais, consulte Saída.

Para aprender como lidar com erros em operações de gravação em massa, consulte Tratamento de erros.

O Atlas Infinite tem uma lista completa de limitações da visualização pública em Disponibilidade da Visualização Pública. As seguintes limitações se aplicam ao carregar dados em um cluster Atlas Infinite:

  • Sem reprodução de oplog: O Atlas Infinite não oferece suporte à reprodução de oplog. Não use a opção mongodump --oplog ou a opção mongorestore --oplogReplay com clusters 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 em produção e restaurar entre edições: Atlas Infinite não oferece suporte à migração em produção ou backup e restaurar entre clusters Atlas Core e Atlas Infinite. Diferenças arquitetônicas entre as duas opções de implantação tornam os snapshots e as migrações em produção incompatíveis.