Todos os produtos
Search
Central de documentação

ApsaraDB for MongoDB:Observações sobre atualizações de versões principais do banco de dados MongoDB

Última atualização: Sep 22, 2026

Antes de atualizar a versão principal do banco de dados, verifique para quais versões sua instância pode ser atualizada com base na arquitetura e na versão atual dela. Além disso, revise as alterações de compatibilidade de cada versão.

Caminhos de atualização suportados

  • Você pode atualizar a versão principal de um banco de dados no console do ApsaraDB for MongoDB. No entanto, as versões de destino disponíveis variam de acordo com a arquitetura, o tipo e a versão atual da instância. Os detalhes são os seguintes:

    Arquitetura

    Tipo de instância

    Versão principal atual

    Versões de atualização disponíveis

    Arquitetura standalone

    Uso geral com disco em cloud

    MongoDB 4.0

    Não há nenhuma versão principal superior disponível para atualização.

    Uso geral com disco em cloud

    MongoDB 3.4

    Suporta atualização para o MongoDB 4.0.

    Arquitetura de replica set

    • Uso geral com disco em cloud

    • Dedicado com disco em cloud

    MongoDB 8.0

    MongoDB 8.3

    MongoDB 7.0

    MongoDB 8.0

    MongoDB 6.0

    MongoDB 7.0

    MongoDB 5.0

    MongoDB 6.0

    MongoDB 4.4

    MongoDB 5.0

    Ao atualizar uma instância da v4.4 para a v5.0, o writeConcern padrão muda de {w:1} para {w:majority}. Isso pode causar uma diminuição no desempenho de gravação e um aumento na latência de gravação. Confirme se esse impacto é aceitável antes de atualizar.

    • Uso geral com disco local

    • Dedicado com disco local

    • Servidor físico dedicado

    MongoDB 4.2

    Não há suporte para atualização no local.

    Para atualizar a versão principal, você pode {{XREF_2}} e usá-la para substituir a instância original.

    MongoDB 4.0

    MongoDB 4.2

    MongoDB 3.4

    • MongoDB 4.0

    • MongoDB 4.2

    MongoDB 3.2

    MongoDB 3.0

    Arquitetura de cluster com shard

    Dedicado com disco em cloud

    MongoDB 8.0

    MongoDB 8.3 (Envie um ticket para solicitar)

    MongoDB 7.0

    MongoDB 8.0

    MongoDB 6.0

    MongoDB 7.0

    MongoDB 5.0

    MongoDB 6.0

    MongoDB 4.4

    MongoDB 5.0

    Ao atualizar uma instância da v4.4 para a v5.0, o writeConcern padrão muda de {w:1} para {w:majority}. Isso pode causar uma diminuição no desempenho de gravação e um aumento na latência de gravação. Confirme se esse impacto é aceitável antes de atualizar.

    • Uso geral com disco local

    • Dedicado com disco local

    • Servidor físico dedicado

    MongoDB 4.2

    Não há suporte para atualização no local.

    Para atualizar a versão principal, você pode {{XREF_3}} e usá-la para substituir a instância original.

    MongoDB 4.0

    MongoDB 4.2

    MongoDB 3.4

    • MongoDB 4.0

    • MongoDB 4.2

    MongoDB 3.2

    MongoDB 3.0

  • Se você precisar atualizar a versão principal entre diferentes arquiteturas ou tipos de armazenamento, primeiro {{XREF_4}} e, em seguida, use o Data Transmission Service (DTS) para migrar os dados do source para a nova instância.

    Consulte os seguintes tópicos para obter instruções sobre migração de dados:

Alterações de compatibilidade entre versões principais

Revise as alterações de compatibilidade de cada versão principal do banco de dados antes de atualizar:

Importante
  • A instância deve estar Running para atualizar sua versão principal do banco de dados. Para obter instruções, consulte {{XREF_8}}.

  • Não há suporte para downgrade após a atualização de uma versão principal.

  • O MongoDB 4.0 e versões posteriores são compatíveis com os recursos do MongoDB 3.6. Para usar os recursos do MongoDB 3.6, atualize para o MongoDB 4.0 ou superior.

  • Estas notas de compatibilidade cobrem apenas as alterações no kernel do ApsaraDB for MongoDB, e não as alterações nos recursos de gerenciamento de instâncias.

Versão principal do banco de dados

Alterações de compatibilidade

MongoDB 8.3

  • Se você criou views ou validadores de coleção usando expressões, parâmetros ou variáveis introduzidos no MongoDB 8.3, essas views podem falhar ou os objetos podem não ser validados ou avaliados corretamente após o downgrade.

  • O MongoDB 8.3 introduz novas semânticas de validação para marcar coleções como "validadas". Essa semântica é incompatível com versões anteriores à 8.3. As tentativas de downgrade falharão se existirem coleções validadas.

  • A partir do MongoDB 8.3, quando os documentos construídos pelo estágio $facet excedem o limite de 100 MB, o MongoDB retorna o código de erro 146 em vez de 4031700 para o erro ExceededMemoryLimit. Se sua aplicação, driver ou ferramenta verificar explicitamente o código 4031700, atualize seu código para detectar o novo código de erro ExceededMemoryLimit.

  • Ao fazer downgrade do MongoDB 8.3 para uma versão anterior, a configuração activeBalancerWindowDOW (janela do balanceador por dia da semana) fica indisponível.

  • O comando removeShard foi descontinuado. Use os novos comandos startShardDraining, stopShardDraining, shardDrainingStatus e commitShardRemoval para controlar a remoção de shard. Eles oferecem suporte à pausa e à retomada da migração a qualquer momento.

  • Em clusters com shard, as operações DDL e o applyOps agora devem passar pelo mongos e não podem ser executados diretamente nos nós de shard.

  • O valor padrão de 2dsphereVersion aumenta de 3 para 4. Para fazer downgrade da versão de compatibilidade de recursos (FCV) para abaixo de 8.3, exclua primeiro todos os índices 2dsphere da versão 4.

  • A partir do MongoDB 8.3 (e também 8.0.18, 7.0.29), os índices curinga compostos aplicam regras de validação mais rigorosas para a especificação wildcardProjection. Os índices existentes continuam funcionando mesmo que não atendam aos novos requisitos, mas não crie novos índices que os violem.

  • Para coleções de séries temporais, o refineCollectionShardKey agora exige que a chave de shard faça referência aos metadados lógicos e ao campo de tempo, e não aceita mais o formato de bucket subjacente. Os índices não podem ser nomeados como _id_. O nome do timeField não pode começar com $.

  • A saída do serverStatus remove o campo service.

  • Remove a coleção do sistema config.csrs.indexes.

Para obter mais informações sobre o MongoDB 8.3, consulte Alterações de compatibilidade no MongoDB 8.3.

MongoDB 8.0

  • Evite usar tcmallocAggressiveMemoryDecommit.

  • O parâmetro tcmallocReleaseRate permite especificar uma taxa de liberação de memória. O ApsaraDB for MongoDB define isso como 10 MB/s por padrão.

  • Quando null é usado como condição de consulta, o MongoDB não corresponde mais a valores undefined.

  • Evite usar filtros de índice.

  • Para coleções de séries temporais, evite usar timeField como chave de shard.

  • Evite usar o comando cleanupOrphaned.

  • Não execute comandos compact simultâneos na mesma coleção.

  • Antes de atualizar para o MongoDB 8.0, renomeie ou exclua qualquer coleção que não seja de séries temporais com o nome system.buckets.

Para obter mais informações sobre o MongoDB 8.0, consulte Alterações de compatibilidade no MongoDB 8.0.

MongoDB 7.0

  • Não existem problemas de compatibilidade ao atualizar para o MongoDB 7.0.

  • Para fazer downgrade do MongoDB 7.0 para uma versão principal anterior, primeiro remova os recursos introduzidos na 7.0, como:

    • Exclua todos os índices colunares (columnar indexes).

    • Cancele o registro dos parâmetros de cluster definidos usando o comando setClusterParameter. Para obter detalhes, consulte setClusterParameter.

    • Exclua todas as coleções criadas com a opção encryptedFields.

    • Exclua todos os índices curinga compostos (Compound wildcard indexes).

Para obter mais informações sobre o MongoDB 7.0, consulte Alterações de compatibilidade no MongoDB 7.0.

MongoDB 6.0

  • Se um pipeline de agregação usar mais de 100 MB de memória, o MongoDB gravará dados em arquivos temporários no disco por padrão. Para alterar esse comportamento, defina o parâmetro global allowDiskUseByDefault como false.

    Versões anteriores à 6.0 exigem a especificação explícita de { allowDiskUse: true } para gravar dados em arquivos temporários no disco.

  • Ao usar dropIndexes com o curinga *, o MongoDB não exclui o índice _id nem o índice da chave de shard. Para obter mais informações, consulte dropIndexes.

  • O Mongo Shell não é mais suportado. Use o mongosh em seu lugar.

  • Operadores como $explain, $hint, $max e $maxTimeMS não são mais suportados.

  • Quando o índice TTL expireAfterSeconds é definido como NaN, ele é tratado como 0, o que pode expirar documentos imediatamente.

  • O método de autenticação SCRAM-SHA-1 não é mais suportado.

  • O comando reIndex e seu método correspondente reIndex() não são mais suportados.

Para obter mais informações sobre o MongoDB 6.0, consulte Alterações de compatibilidade no MongoDB 6.0.

MongoDB 5.0

  • O nível de Read Concern para nós secundários muda de available para local. Para obter mais informações, consulte Read Concern.

  • O Write Concern padrão muda de 1 para majority.

    Importante

    Essa alteração pode degradar o desempenho de gravação. Confirme o impacto antes de atualizar. Você também pode usar o comando setDefaultRWConcern para alterar o writeConcern padrão.

  • O db.collection.ensureIndex() não é mais suportado. Use db.collection.createIndex() em seu lugar.

  • Os parâmetros para os comandos saslStart e saslContinue agora são validados rigorosamente e são incompatíveis com o mgo. O saslContinue requer apenas conversationId e payload, mas o mgo fornece um parâmetro mechanism extra. Para obter mais informações, consulte mgo.

  • Remove o geoSearch.

Para obter mais informações sobre o MongoDB 5.0, consulte Alterações de compatibilidade no MongoDB 5.0.

MongoDB 4.4

  • O compact não suporta mais a opção force. Para obter mais informações, consulte compact.

  • O geoSearch não é mais suportado. Para obter mais informações, consulte geoSearch.

  • Agora, os índices podem ser criados simultaneamente nos bancos de dados primário e secundário, reduzindo o atraso de replicação durante a criação do índice. Os secundários permanecem atualizados mesmo enquanto os índices estão sendo criados.

Para obter mais informações sobre o MongoDB 4.4, consulte Alterações de compatibilidade no MongoDB 4.4.

MongoDB 4.2

  • O geoNear não é mais suportado. Use $geoNear (aggregation) em seu lugar. Para obter mais informações, consulte $geoNear (aggregation).

  • O repairDatabase não é mais suportado.

  • O cloneCollection foi removido e não é mais suportado. Use mongoexport e mongoimport em seu lugar. Para obter mais informações, consulte mongoexport e mongoimport.

  • O afterClusterTime não é mais suportado. Para obter mais informações, consulte afterClusterTime.

  • Os drivers de código aberto do MongoDB 4.2+ ativam o Retryable Writes por padrão. Para obter mais informações, consulte Retryable Writes.

  • Remove group, copydb e clone.

Para obter mais informações sobre o MongoDB 4.2, consulte {{XREF_9}}.

MongoDB 4.0

  • O reIndex adquire um bloqueio de gravação global até que a reconstrução do índice seja concluída. Para obter mais informações, consulte reIndex.

  • O copydb e o clone não são mais suportados.

Para obter mais informações sobre o MongoDB 4.0, consulte {{XREF_10}}.

MongoDB 3.6

  • O aggregate não retorna mais um único documento. Ele retorna um cursor. Você pode usar o cursor para especificar o tamanho do batch. Para obter mais informações sobre o aggregate, consulte aggregate.

  • O $type: "array" agora detecta documentos do tipo array diretamente, e não apenas arrays aninhados. Para obter mais informações sobre o $type, consulte $type.

  • O comportamento de classificação de arrays muda da seguinte forma:

    • O find adiciona uma opção sort para fornecer resultados de classificação detalhados. Para obter mais informações sobre o find, consulte find.

    • O estágio $sort stage em $sort(aggregation) tem um limite de memória de 100 MB. Para obter mais informações, consulte $sort (aggregation).

  • Ao atualizar vários campos em uma única operação, os novos campos são adicionados em ordem lexicográfica. Para obter mais informações, consulte $set.

  • A opção de consulta snapshot não é mais suportada.

Para obter mais informações sobre o MongoDB 3.6, consulte {{XREF_11}}.

MongoDB 3.4

  • O group não é mais suportado. Use db.collection.aggregate() ou db.collection.mapReduce() em seu lugar. Para obter mais informações, consulte db.collection.aggregate() e db.collection.mapReduce().

  • Use a expressão $in para corresponder à operação update com + upsert: true.

    Exemplo:

    db.c.drop()
    db.c.update({a:{$in:[1]}},{$addToSet:{a:2}},{upsert:true}) // Fails in MongoDB 3.4, but succeeds in earlier versions.
    db.c.update({a:{$elemMatch:{$in:[2]}}},{$addToSet:{a:2}},{upsert:true}) // Succeeds in MongoDB 3.4.

    Para obter mais informações sobre update, consulte update.

Para obter mais informações sobre o MongoDB 3.4, consulte {{XREF_12}}.

APIs relacionadas

Interface

Descrição

{{XREF_13}}

Atualiza a versão principal do banco de dados de uma instância do ApsaraDB for MongoDB.