Todos os produtos
Search
Central de documentação

ApsaraDB for MongoDB:Notas sobre atualizações de versão principal do banco de dados MongoDB

Última atualização: Jun 26, 2026

O ApsaraDB for MongoDB suporta a atualização da versão principal do banco de dados. Antes de atualizar, verifique quais versões principais sua instância pode adotar com base na arquitetura de serviço e na versão atual. Revise também as alterações de compatibilidade entre as versões principais.

Caminhos de atualização suportados

Alterações de compatibilidade entre versões principais

As alterações de compatibilidade entre as versões principais do banco de dados são:

Importante
  • A instância deve estar com o status Running para atualizar a versão principal do banco de dados. Para mais instruções, consulte Atualizar versão do banco de dados.

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

  • O MongoDB 4.0 e versões posteriores mantêm compatibilidade com os recursos do MongoDB 3.6. Para utilizar esses recursos, atualize para o MongoDB 4.0 ou superior.

  • Estas notas de compatibilidade abrangem apenas mudanças no kernel do ApsaraDB for MongoDB, sem incluir alterações nos recursos de gerenciamento de instâncias.

Versão principal do banco de dados

Alterações de compatibilidade

MongoDB 8,3

  • Views ou validadores de coleção criados com expressões, parâmetros ou variáveis introduzidos no MongoDB 8,3 podem falhar ou não validar/avaliar objetos 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. Tentativas de downgrade falharão se existirem coleções validadas.

  • A partir do MongoDB 8,3, quando 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 o 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) torna-se indisponível.

  • O comando removeShard foi descontinuado. Utilize os novos comandos startShardDraining, stopShardDraining, shardDrainingStatus e commitShardRemoval para controlar a remoção de shards. Esses comandos permitem pausar e retomar a migração a qualquer momento.

  • Em clusters fragmentados, operações DDL e applyOps devem agora ser executadas via mongos e não podem rodar diretamente nos nós de shard.

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

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

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

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

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

Para 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 fragmentação.

  • 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 não relacionada a séries temporais chamada system.buckets.

Para 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, remova primeiro os recursos introduzidos na 7.0, tais como:

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

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

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

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

Para 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 grava 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 remove o índice _id nem o índice da chave de shard. Para mais informações, consulte dropIndexes.

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

  • 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 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 mais informações, consulte Read Concern.

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

    Importante

    Essa alteração pode degradar a performance de escrita. Confirme o impacto antes de atualizar. Use também o comando setDefaultRWConcern para alterar o writeConcern padrão.

  • db.collection.ensureIndex() não é mais suportado. Use db.collection.createIndex().

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

  • Remove o geoSearch.

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

MongoDB 4.4

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

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

  • Agora é possível criar índices 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 construídos.

Para 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). Para 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. Para mais informações, consulte mongoexport e mongoimport.

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

  • Drivers open source do MongoDB 4.2+ ativam Retryable Writes por padrão. Para mais informações, consulte Retryable Writes.

  • Remove group, copydb e clone.

Para mais informações sobre o MongoDB 4.2, consulte Notas de atualização de compatibilidade do MongoDB 4.2.

MongoDB 4.0

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

  • Os comandos copydb e clone não são mais suportados.

Para mais informações sobre o MongoDB 4.0, consulte Notas de atualização de compatibilidade do MongoDB 4.0.

MongoDB 3.6

  • O aggregate não retorna mais um único documento. Ele retorna um cursor. É possível usar o cursor para especificar o tamanho do batch. Para mais informações sobre o aggregate, consulte aggregate.

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

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

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

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

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

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

Para mais informações sobre o MongoDB 3.6, consulte Notas de atualização de compatibilidade do MongoDB 3.6.

MongoDB 3.4

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

  • Use a expressão $in para corresponder à operação de 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 mais informações sobre update, consulte update.

Para mais informações sobre o MongoDB 3.4, consulte Alterações de compatibilidade do MongoDB 3.4.

APIs relacionadas

Interface

Descrição

UpgradeDBInstanceEngineVersion

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