Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Migrar para o Firestore com compatibilidade com o MongoDB
Este guia mostra o processo de migração do seu banco de dados de origem compatível com o MongoDB para um banco de dados do Firestore com compatibilidade com o MongoDB com tempo de inatividade mínimo.
Sobre o processo de migração
O processo de migração tem as seguintes etapas:
Preparação: você cria os recursos necessários para a migração e configura as variáveis de ambiente que serão usadas para executar comandos nas etapas posteriores do processo de migração.
Importar do banco de dados de origem compatível com o MongoDB: use o serviço
Datastream para capturar o conteúdo do seu
banco de dados de origem compatível com o MongoDB e transferir para um
bucket do Cloud Storage.
Gravar dados no banco de dados do Firestore com compatibilidade com o MongoDB: use o serviço do Dataflow para transferir dados do bucket do Cloud Storage para um banco de dados do Firestore com compatibilidade com o MongoDB.
Esse pipeline do Dataflow será executado simultaneamente com o fluxo do Datastream que está extraindo dados do banco de dados de origem compatível com o MongoDB.
Migrar o tráfego para o Firestore: no momento adequado
do procedimento, migre o tráfego de leitura e gravação do aplicativo para
o banco de dados do Firestore com compatibilidade com o MongoDB e interrompa
o pipeline de migração.
O diagrama a seguir resume o processo de migração:
Seu banco de dados de origem compatível com o MongoDB permanece em um estado de disponibilização enquanto a transferência de dados
acontece:
O processo do Datastream captura dados em repouso e eventos de mudança.
Haverá um breve período de indisponibilidade parcial quando você precisar desligar o tráfego de gravação para o banco de dados de origem. Durante esse período, o restante dos eventos de mudança é replicado para o Firestore.
Depois que a replicação for concluída, o banco de dados do Firestore com compatibilidade com o MongoDB poderá se tornar a nova fonte da verdade para sua carga de trabalho do aplicativo. Todo o tráfego de leitura e gravação pode ser direcionado para o novo banco de dados.
Etapas detalhadas da migração
Esta seção descreve a migração com mais detalhes.
O serviço Datastream cria um fluxo entre uma origem e um destino. Nesse caso, a origem é sua implantação atual compatível com o MongoDB, e o destino é o Cloud Storage. Esse processo tem as seguintes etapas:
Inicie um pipeline do Dataflow para começar a inserir os
dados capturados no seu banco de dados do Firestore com compatibilidade
com o MongoDB.
Monitore o fluxo para identificar marcos importantes no processo de migração e determinar se houve erros durante a transferência de dados.
Quando for apropriado, desligue o tráfego de gravação
para o banco de dados de origem. Depois que todos os dados, incluindo as mudanças recentes, forem
replicados para o banco de dados do Firestore com compatibilidade com o MongoDB, redirecione o tráfego de leitura para o novo destino.
Os exemplos de código neste guia devem ser executados um após o outro. Este
guia pressupõe que você configure seu ambiente definindo todas as variáveis de ambiente
com antecedência. Depois, execute os comandos necessários para a migração que usam as variáveis de ambiente já configuradas. Recomendamos usar essa abordagem. Como muitos comandos usam as mesmas variáveis de ambiente, você pode reduzir a chance de introduzir erros entre diferentes etapas do processo de migração.
Como alternativa, substitua as variáveis nos exemplos de comando pelos mesmos valores definidos para as variáveis de ambiente correspondentes.
Se algum dos seus dados não atender às restrições nas categorias anteriores:
Recomendamos resolver essas condições no conjunto de dados antes de iniciar o processo de migração.
Se você continuar sem fazer mudanças, os documentos afetados pelas limitações não serão gravados no Firestore e serão deixados de lado.
Você pode decidir como esses documentos devem ser tratados. Se eles forem convertidos para tipos, valores ou tamanhos aceitos, poderão ser reprocessados.
O Datastream tem os seguintes requisitos:
A versão principal mínima do MongoDB compatível com o Datastream é a 4.0. Para algumas versões secundárias, há versões mínimas de patch compatíveis:
4.0.21
4.2.10
4.4.2
Seu cluster do MongoDB precisa ser compatível com fluxos de alterações. A implantação do MongoDB
precisa ser configurada como um
conjunto de réplicas ou um
cluster fragmentado para que os
fluxos de alterações sejam ativados.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-09-04 UTC."],[],[],null,["# Migrate to Firestore with MongoDB compatibility\n===============================================\n\nThis guide takes you through the step-by-step process of migrating your\nMongoDB-compatible source database to a Firestore with MongoDB\ncompatibility database with minimal downtime.\n\nAbout the migration process\n---------------------------\n\nThe migration process has the following stages:\n\n1. **Preparation**: You create resources required for the migration and set up\n environment variables that will be used to run commands at later stages of\n the migration process.\n\n2. **Import from the MongoDB-compatible source database**: You use the\n Datastream service to capture the contents of your\n MongoDB-compatible source database and transfer them into a\n Cloud Storage bucket.\n\n3. **Write data to Firestore with MongoDB compatibility\n database**: You use the Dataflow\n service to transfer data from the Cloud Storage bucket into a\n Firestore with MongoDB compatibility database.\n\n This Dataflow pipeline will run concurrently with the\n Datastream stream that is pulling data from the\n MongoDB-compatible source database.\n4. **Migrate traffic to Firestore**: At the appropriate point\n in the procedure, you migrate your application read and write traffic to\n the Firestore with MongoDB compatibility database and stop\n the migration pipeline.\n\nThe following diagram summarizes the migration process:\n\nYour MongoDB-compatible source database remains in a serving state while the data transfer\ntakes place:\n\n- The Datastream process captures both data at rest and change events.\n- There will be a short period of partial unavailability when you have to shut\n down write traffic to your source database. During this period, the\n remainder of the change events is replicated to Firestore.\n\n- After the replication completes, the Firestore with MongoDB\n compatibility database can become the new source of truth for your\n application workload. All read and write traffic can be directed to the new\n database.\n\nDetailed migration steps\n------------------------\n\nThis section describes the migration in more detail.\n\nThe Datastream service creates a stream between a source and a\ndestination. In this case, the source is your current MongoDB-compatible\ndeployment, while the destination is Cloud Storage. This process has\nthe following steps:\n\n1. [Create a source Datastream connection profile](/firestore/mongodb-compatibility/docs/migrate-create-connection-profiles)\n for your Mongo source. Specific instructions depend on the type and the way\n your MongoDB-compatible source is deployed.\n\n2. [Create a Cloud Storage bucket](/firestore/mongodb-compatibility/docs/migrate-configure-resources#create-bucket)\n that will receive the data and the change events from your\n MongoDB-compatible source database.\n\n3. [Create a destination Datastream connection profile](/firestore/mongodb-compatibility/docs/migrate-create-connection-profiles#connection-profile-storage)\n that uses this Cloud Storage bucket.\n\n4. [Create and actuate a Datastream stream](/firestore/mongodb-compatibility/docs/migrate-import-from-source)\n that connects the source connection profile to the destination connection\n profile.\n\n5. [Initiate a Dataflow pipeline](/firestore/mongodb-compatibility/docs/migrate-write-to-destination) to begin injecting the\n captured data into your Firestore with MongoDB\n compatibility database.\n\n6. [Monitor the stream](/firestore/mongodb-compatibility/docs/migrate-traffic#migration-completion-milestones)\n to identify important milestones in the migration process to determine\n whether any errors were encountered during the data transfer.\n\n7. When it's appropriate,\n [shut down write traffic](/firestore/mongodb-compatibility/docs/migrate-traffic#shut-down-write-traffic)\n to the source database. After all data, including recent changes, was\n replicated to the Firestore with MongoDB compatibility\n database, redirect read traffic to the new destination.\n\n8. [Enable write traffic](/firestore/mongodb-compatibility/docs/migrate-traffic#migrate-write-traffic)\n to your Firestore with MongoDB compatibility database.\n\nAbout code examples\n-------------------\n\nCode examples in this guide are meant to be executed one after another. This\nguide assumes that you configure your environment by setting up all environment\nvariables beforehand. Afterwards, you execute commands required for the\nmigration that use the already configured environment variables. We recommend\nto use this approach. Because many commands use same environment variables, you\ncan reduce the chance of introducing errors between different stages of the\nmigration process.\n\nAs an alternative, you can replace the variables in command examples with the\nsame values that you set for corresponding environment variables.\n\nLimitations\n-----------\n\nFirestore with MongoDB compatibility has the following limitations:\n\n- Firestore doesn't support the following BSON types:\n\n - Undefined\n - DBPointer\n - JavaScript\n - Symbol\n- Firestore has the following restrictions on the `_id` field:\n\n - ObjectIDs, Longs, and Strings in the document `_id` field are supported.\n - 0L as `_id` is not supported.\n- Firestore has a 4MB document size limit.\n\nIf any of your data contains the listed conditions:\n\n- We recommend to address these conditions in your dataset before starting the\n migration process.\n\n- If you choose to proceed without changes, then documents that are affected by\n the limitations will fail writing to Firestore and will be\n sidelined.\n You can decide on how these documents must be handled. If they are\n converted to supported types, values, or sizes, they can be reprocessed.\n\nDatastream has the following requirements:\n\n- The minimum major version of MongoDB supported by\n Datastream is 4.0. For some minor versions, there are\n minimum patch versions that are supported:\n\n - 4.0.21\n - 4.2.10\n - 4.4.2\n- Your MongoDB cluster must support Change Streams. Your MongoDB deployment\n must be configured as a\n [replica set](https://www.mongodb.com/docs/manual/replication/) or a\n [sharded cluster](https://www.mongodb.com/docs/manual/sharding/) for Change\n Streams to be enabled.\n\nWhat's next\n-----------\n\nProceed to\n[Configure resources for migration](/firestore/mongodb-compatibility/docs/migrate-configure-resources)."]]