Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/

Notas de versão para MongoDB 7.0 (versão estável)

Nesta página

  • Lançamentos de patches
  • Gerenciamento do índice do Atlas Search
  • Alterações gerais
  • Segurança
  • Agregação
  • Séries temporais
  • Fragmentação
  • Alterações introduzidas nas versões rápidas da série 6.X
  • Suporte a plataformas
  • Procedimentos de atualização
  • Considerações de downgrade
  • Download
  • Relatar um problema

Esta página descreve as alterações e as novas funcionalidades introduzidas no MongoDB 7.0.

O MongoDB 7.0 é uma versão principal, o que significa que ela é compatível tanto com o MongoDB Atlas quanto com implantações no local. O MongoDB 7.0 inclui mudanças introduzidas nos MongoDB Rapid Releases 6.1, 6.2 e 6.3. Para ver as alterações introduzidas nessas Rapid Releases, consulte Alterações introduzidas em 6.X-Series Rapid Releases.

Para saber mais sobre as diferenças entre as Rapid Releases e versões principais, consulte Versões do MongoDB .

Aviso

Limitações da versão anterior

Os avisos críticos abaixo afetam algumas versões anteriores do MongoDB. Se sua implantação depender de recursos afetados por um aviso crítico, atualize para a versão de patch mais recente disponível.

Emitir
Versões afetadas
7.0.0 - 7.0.2
7.0.0 - 7.0.2 (Coleções de séries temporais fragmentadas por objetos embarcados metaField)
7.0.0 - 7.0.5
7.0.0 - 7.0.6
7.0.0 - 7.0.6
7.0.0 - 7.0.12

Problemas corrigidos:

  • SERVER-82814 Permite operadores de comparação expr internos ao determinar limites de verificação de coleção clusterizada

  • SERVIDOR-85892 $merge com pipeline após $documents retornar erro

  • SERVIDOR-91195 Forneça uma solução backportable genérica para não perder as opções de coleção de séries temporais de nível superior

  • SERVER-91625 Habilite planos indexados para expressões com $$NOW, $$CLUSTER_TIME e $$USER_ROLES

  • WT-12643 Corrige a lógica de movimentação do Servidor de Eviction para que ele seja capaz de descartar todas as páginas

  • Todos os problemas do JIRA foram encerrados em 7.0.14

  • 7.0.14 Registro de alterações

Importante

A correção para CSFLE e a autoconsulta do Queryable Encryption podem enviar valores em subpipelines como texto simples em vez de texto cifrado

Devido ao CVE-2024-8013, no MongoDB 7.0 anterior a 7.0.12, um bug na análise de query de determinados subpipelines auto-referenciais $lookup complexos pode resultar em valores literais em expressões para criptografia campos sendo enviados para o servidor malformado.

Caso isso ocorra, nenhum documento será devolvido ou escrito. Esse problema afeta o binário mongocryptd e a biblioteca compartilhada mongo_crypt_v1 nas seguintes versões do MongoDB Server:

  • 7.3.0 - 7.3.3

  • 7.0.0 - 7.0.11

  • 6.0.0 - 6.0.16

  • 5.0.0 - 5.0.28

Pontuação CVSS: 2.2

CWE: CWE-319: transmissão de texto não criptografado de informações confidenciais

Problemas corrigidos:

Problemas corrigidos:

Problemas corrigidos:

Problemas corrigidos:

Problemas corrigidos:

Importante

A correção para o MongoDB Server pode permitir uma conexão não confiável bem-sucedida

Devido ao CVE-2024-1351, no MongoDB 7.0 antes de 7.0.6, sob certas configurações de --tlsCAFile e CAFile, MongoDB Server pode ignorar a validação do certificado de par, o que pode resultar no sucesso de conexões não confiáveis.

Isso pode efetivamente reduzir as garantias de segurança fornecidas pelo TLS e conexões abertas que deveriam ter sido fechadas devido a falha na validação do certificado. Esse problema afeta as seguintes versões do MongoDB Server:

  • 7.0.0 - 7.0.5

  • 6.0.0 - 6.0.13

  • 5.0.0 - 5.0.24

  • 4.4.0 - 4.4.28

Pontuação CVSS: 8.8

CWE: CWE-295: validação de certificado inadequada

Problemas corrigidos:

Problemas corrigidos:

Problemas corrigidos:

Problemas corrigidos:

Problemas corrigidos:

Problemas corrigidos:

O restante desta página descreve as alterações e as novas funcionalidades introduzidas no MongoDB 7.0.

A partir do MongoDB 7.0, você pode gerenciar os índices da Atlas Search com métodos do mongosh e comandos de banco de dados. Os comandos de índice da Atlas Search só estão disponíveis para implantações hospedadas no MongoDB Atlas e exigem uma camada do cluster do Atlas de pelo menos M10.

Para gerenciar índices do Atlas Search, utilize os seguintes comandos:

Nome
Descrição

Criar um índice Atlas Search numa colecção especificada.

Exclui um índice de Pesquisa do Atlas existente.

Retorna informações sobre Atlas Search indexes em uma coleção especificada.

Atualiza um índice existente do Atlas Search.

Nome
Descrição

Cria um ou mais índices de Pesquisa do Atlas em uma coleção especificada.

Exclui um índice de Pesquisa do Atlas existente.

Atualiza um índice existente do Atlas Search.

Nome
Descrição
Lista queries de amostra para todas as collections ou para uma collection específica.

Retorna informações sobre Atlas Search indexes em uma coleção especificada.

A partir do MongoDB 7.0, as mensagens de registro para queries lentas incluem um novo campo de tempo de atualização do cache.

A partir da versão 7.0, O MongoDB usa um algoritmo padrão para ajustar dinamicamente o número máximo de transações simultâneas do mecanismo de armazenamento (incluindo tickets de leitura e gravação) para otimizar o rendimento do banco de dados durante a sobrecarga.

A tabela a seguir resume como identificar cenários de sobrecarga para o MongoDB 7.0 e versões anteriores:

Versão
Diagnosticando cenários de sobrecarga
7.0

Um grande número de operações em fila que persistem por um período prolongado provavelmente indica uma sobrecarga.

A disponibilidade simultânea de 0 na transação do mecanismo de armazenamento (ticket) por um período prolongado não indica uma sobrecarga.

6.0 e anterior

Um grande número de operações em fila que persistem por um período prolongado provavelmente indica uma sobrecarga.

Uma disponibilidade de transação de mecanismo de armazenamento simultâneo (ticket) de 0 por um período prolongado provavelmente indica uma sobrecarga.

Para saber mais, consulte:

Iniciando no MongoDB 7.0, o comando currentOp e o método db.currentOp() incluem estes novos campos:

A partir do MongoDB 7.0, o estágio de agregação currentOp inclui estes novos campos:

A partir do MongoDB 7.0, você pode criar índices compostos de curingas. Um índice curinga composto tem um termo curinga e um ou mais termos de índice adicionais.

Use índices curinga compostos para dar suporte a queries sobre padrões conhecidos e para limitar o número total de índices em uma collection.

A partir do MongoDB 7.0, se você tiver eventos de change stream maiores que 16 MB, poderá usar o novo estágio $changeStreamSplitLargeEvent para dividir os eventos em fragmentos menores.

As novas métricas a seguir relatam informações sobre grandes eventos de change stream:

serverStatus inclui os seguintes novos campos em sua saída:

Métricas de cache do plano
Métricas doqueryAnalyzer

A partir do MongoDB 7.0, o mecanismo de execução de query baseado em slot melhora o desempenho para uma ampla variedade de querys de localização e agregação.

Mensagens de log de query lentas agora incluem um campo queryFramework que indica qual mecanismo de query concluiu a query:

  • queryFramework: "classic" indica que o mecanismo clássico concluiu a query.

  • queryFramework: "sbe" indica que o mecanismo de execução de query baseado em slot concluiu a query.

A partir do MongoDB 7.0, você pode utilizar a nova variável do sistema USER_ROLES para retornar os roles do usuário atual.

Para casos de uso que incluem USER_ROLES, consulte os exemplos localizar, agregação, visualizar, updateOne, updateMany e findAndModify.

Disponível a partir de MongoDB 7.0 (e 6.3.2, 6.0.6 e 5.0.18).

O MongoDB inclui as seguintes novas estatísticas de fragmentação para migrações de chunks:

A partir do MongoDB 7.0 (e 6.0.13, 5.0.24), o totalOplogSlotDurationMicros na mensagem de registro de query lenta mostra o tempo entre uma operação de gravação que obtém um carimbo de data/hora de confirmação para confirmar as gravações do mecanismo de armazenamento e a confirmação efetiva. mongod suporta gravações paralelas. No entanto, ele confirma operações de gravação com registros de data e hora de confirmação em qualquer ordem.

Para saber mais, consulte Registrar operações lentas.

O MongoDB 7.0 adiciona os seguintes parâmetros relacionados ao comando analyzeShardKey:

O MongoDB 7.0 adiciona o parâmetro autoMergerIntervalSecs que, quando o AutoMerger está habilitado, especifica o período de tempo entre as rodadas de automerging, em segundos. autoMergerIntervalSecs só pode ser definido em servidores de configuração de clusters fragmentados.

O MongoDB 7.0 adiciona o autoMergerThrottlingMS que, quando o AutoMerger está habilitado, especifica o tempo mínimo entre as mesclagens iniciadas pelo AutoMerger na mesma coleção, em milissegundos. autoMergerThrottlingMS só pode ser definido em servidores de configuração de clusters fragmentados.

O MongoDB 7.0 adiciona o parâmetro balancerMigrationsThrottlingMs que permite limitar a taxa de balanceamento.

O MongoDB 7.0 adiciona o parâmetro enableDetailedConnectionHealthMetricLogLines que permite especificar se um conjunto de mensagens de log relacionadas às métricas de integridade da conexão do cluster aparece ou não no log.

O MongoDB 7.0 adiciona o parâmetro oidcIdentityProviders que permite a você especificar configurações do provedor de identidade (IDP) ao utilizar a autenticação do OpenID Connect.

O MongoDB 7.0 adiciona os seguintes parâmetros relacionados ao comando configureQueryAnalysis:

A partir do MongoDB 7.0, a Queryable Encryption com queries de igualdade está geralmente disponível (GA). Melhorias no GA o tornam incompatível com o Queryable Encryption Public Preview, que não deve ser usado agora que a funcionalidade está GA. Para obter detalhes, consulte Alterações de compatibilidade no MongoDB 7.0.

MongoDB 7.0 (e 6.0.6) adiciona a configuração useLegacyProtocol. Essa configuração permite que servidores MongoDB se conectem a servidores KMIP que usam protocolo KMIP versão 1.0 ou 1.1.

A partir do MongoDB 7.0 e 6.0.7, O MongoDB suporta OpenSSL 3,0 e o provedor OpenSSL FIPS com estes sistemas operacionais:

  • Red Hat Enterprise Linux 9

  • Amazon Linux 2023

  • Ubuntu Linux 22.04

Para saber mais, consulte TLS/SSL (criptografia de transporte).

A partir da versão 7.0, o MongoDB Enterprise oferece suporte à autenticação OpenID Connect. OpenID Connect é uma camada de autenticação construída sobre OAuth2. Você pode usar o OpenID Connect para configurar o logon único entre seu banco de dados MongoDB e um provedor de identidade de terceiros.

Novas operadoras:

Nome
Descrição

Retorna uma aproximação da mediana, o 50º percentil, como um valor escalar.

Este operador pode ser usado como um accumulator e como uma expressão de aggregation.

Retorna uma array de valores escalares que correspondem aos valores percentuais especificados.

Este operador pode ser usado como um accumulator e como uma expressão de aggregation.

O MongoDB 7.0 adiciona os seguintes especificadores de formato para utilizar com o operador $dateToString:

Especificadores
Descrição
Valores possíveis
%b
Nome do mês abreviado (3 letras)
jan-dec
%B
Nome do mês inteiro
january-december

O MongoDB 7.0 remove a maior parte das limitações de séries temporais dessas operações que são baseadas no comando delete:

A partir do MongoDB 7.0, o comando checkMetadataConsistency está disponível para verificar se há inconsistências nos metadados de fragmentação nos níveis de cluster, banco de dados e coleção. Essas inconsistências podem se originar em casos como:

  • Atualizações nos casos em que o cluster encontrou um erro durante a execução de versões anteriores do MongoDB

  • Intervenções manuais que corrompem o catálogo do cluster

Os seguintes métodos auxiliares estão agora disponíveis por meio de mongosh:

Para obter mais informações sobre as inconsistências que o comando verifica, consulte Tipos de inconsistência.

A partir do MongoDB 7.0, o comando mergeAllChunksOnShard localiza e mescla todos os chunks mescláveis que um shard possui para uma determinada collection.

A partir do MongoDB 7.0, o AutoMerger pode mesclar automaticamente partes que atendam aos requisitos de mesclabilidade. O AutoMerger está habilitado por padrão.

A partir do MongoDB 7.0, você pode usar os seguintes métodos para controlar o comportamento do AutoMerger:

Iniciando no MongoDB 7.0, o comando configureCollectionBalancing aceita o parâmetro enableAutoMerger. Use enableAutoMerger para definir se o AutoMerger leva ou não em consideração essa coleção.

A partir do MongoDB 7.0, você pode priorizar ou despriorizar a limpeza de documentos órfãos em relação às operações do usuário usando o parâmetro rangeDeleterHighPriority.

O MongoDB 7.0 remove o documento operationsBlockedByRefresh que contém estatísticas sobre operações bloqueadas pela atividade de atualização do cache do catálogo porque os contadores operationsBlockedByRefresh aumentaram em mongos para cada operação que usou informações de roteamento de coleta mesmo que a operação não tenha sido bloqueada por uma atividade de atualização de catálogo.

O MongoDB 7.0 adiciona o comando analyzeShardKey e o método db.collection.analyzeShardKey(), que permitem calcular métricas para avaliar uma chave de estilhaço.

O MongoDB 7.0 adiciona o comando configureQueryAnalyzer, que permite a você configurar a amostragem de query para uma collection. O MongoDB 7.0 também adiciona o db.collection.configureQueryAnalyzer(), que envolve o comando configureQueryAnalyzer. Exemplos de queries fornecem informações para analyzeShardKey para calcular métricas sobre a distribuição de leitura e escrita de uma chave de shard.

O MongoDB 7.0 inclui alterações e funcionalidades das seguintes versões Rapid Release:

O MongoDB 7.0 remove o suporte para RHEL 7 / CentOS 7 / Oracle 7 nas arquiteturas PPC64LE e s390x.

Importante

Versão de compatibilidade de recursos

Para atualizar para o MongoDB 7.0 a partir de uma implantação 6.0, a implantação 6.0 deve ter featureCompatibilityVersion configurado como 6.0. Para verificar a versão:

db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )

Para atualizar para o MongoDB 7.0, consulte as instruções de atualização específicas para seu MongoDB deployment:

Caso você precise de orientação ao atualizar para a versão 7.0, os serviços profissionais do MongoDB oferecem suporte à atualização de versões principais, o que ajuda a garantir uma transição tranquila e sem interrupções para seu aplicativo do MongoDB. Para saber mais, consulte a página Consultoria do MongoDB.

O MongoDB suporta apenas downgrades de versão única. Você não pode fazer o downgrade para uma versão que esteja várias versões atrás da versão atual.

Por exemplo, você pode desatualizar um sistema série 7.0 para um sistema série 6.0. No entanto, não há suporte para desatualização adicional desse sistema série 6.0 para um sistema série 5.0.

Começando no MongoDB 7.0:

  • Downgrades de binários não são mais suportados para MongoDB Community Edition.

  • Não é possível fazer downgrade do fCV de sua implantação para uma versão de lançamento rápido do MongoDB.

  • O comando setFeatureCompatibilityVersion exige um parâmetro adicional, confirm, que deve ser definido para true para atualizar ou reduzir o fCV.

  • Se você atualizar ou desatualizar fCV de seu sistema, não poderá desatualizar sua versão binária do sistema Enterprise sem ajuda do suporte.

O MongoDB 7.0 inclui funcionalidades que não são compatíveis com versões anteriores. A desatualização do 7.0 para uma versão anterior exige que você remova os dados que utilizam essas funcionalidades.

Para obter mais informações, consulte Funcionalidades incompatíveis com versões anteriores.

Para baixar o MongoDB 7.0, acesse a Central de downloads do MongoDB.

Para relatar um problema, consulte o repositório MongoDB no GitHub para obter instruções sobre como arquivar um ticket do JIRA para o servidor MongoDB ou um dos projetos relacionados.

Voltar

Notas de versão