Menu Docs
Página inicial do Docs
/ /

Notas de versão para MongoDB 7.0

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 ele recebe suporte tanto para o MongoDB Atlas quanto para sistemas on-premises. O MongoDB 7.0 inclui alterações introduzidas no MongoDB Rapid Releases 6.1, 6.2 e 6.3. Esta página descreve as alterações introduzidas nessas Rapid Releases e no MongoDB 7.0.

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

SERVER-94559

7.0.0 - 7.0.15

7.0.0 - 7.0.2

7.0.0 - 7.0.2

7.0.0 - 7.0.5

7.0.0 - 7.0.5

7.0.0 - 7.0.6

7.0.0 - 7.0.7

7.0.0 - 7.0.15

Problemas corrigidos:

Importante

O uso de after-free no planejador de query do servidor MongoDB pode levar a uma falha ou a um comportamento indefinido.

Descrição: um usuário autorizado pode travar o servidor MongoDB causando uma leitura excessiva do buffer. Isso pode ocorrer ao executar uma operação DDL enquanto as queries são executadas.

Pontuação CVSS: 5.3

CWE: 416 use after free

Versões de produto afetadas: MongoDB Server 8.2.0, 8.0.14 a 8.0, 7.0.24 a 7.0 e versões principais anteriores do fim da vida útil.

Problemas corrigidos:

Problemas corrigidos:

Problemas corrigidos:

  • SERVER-81797: faça nossa própria implementação portátil de notify() atômico e wait() com suporte de tempo limite

  • SERVER-86656: crie um mutex de leitor-gravador otimizado para leitores

  • SERVER-95324: desativar chunkMigrationConcurrency

  • SERVIDOR-101581: verifique o estado do soquete antes de aceitar a conexão no ASIO

  • SERVER-103934: o FCBIS deve ser capaz de chamar KVEngine::cleanShutdown sem vazar memória

  • Todos os problemas do JIRA foram encerrados em 7.0.23

  • 7.0.23 Registro de alterações

Importante

Devido ao CVE-2025-10061, no MongoDB 7.0 antes de 7.0.22, um usuário autorizado pode causar uma falha no MongoDB Server por meio de uma query $group especialmente criada. Essa vulnerabilidade está relacionada ao manuseio incorreto de certas funções do acumulador quando parâmetros adicionais são especificados na operação $group. Essa vulnerabilidade pode levar à negação de serviço se acionada repetidamente.

Esse problema afeta as seguintes versões do MongoDB Server:

  • 8.1.0 - 8.1.1

  • 8.0.0 - 8.0.11

  • 7.0.0 - 7.0.21

  • 6.0.0 - 6.0.24

Pontuação CVSS: 6.5

CWE: CWE-20 validação de entrada inadequada

Importante

Uma resposta KMIP malformada pode resultar em violação de acesso de leitura

Devido ao CVE-2025-12657, no MongoDB 7.0 antes de 7.0.22, o analisador de resposta KMIP embutido em mongo binários é excessivamente tolerante a determinados pacotes malformados e pode analisá-los em objetos inválidos. Leituras posteriores desse objeto podem resultar em violações de acesso de leitura.

Esse problema afeta as seguintes versões do MongoDB Server:

  • 8.0.0 - 8.0.9

  • 7.0.0 - 7.0.21

Pontuação CVSS: 5.9

CWE: CWE-:754 verificação imprópria para condições incomuns ou excepcionais

Problemas corrigidos:

Problemas corrigidos:

  • SERVER-92806: a entrada do cache do plano ignora o agrupamento do índice com $elemMatch

  • SERVER-95672: índices em campos de array que contêm sub-arrays não incluem alguns resultados

  • SERVER-97044: correção de um problema em que os fluxos de alteração podiam gerar incorretamente um evento de "descartar" durante a refragmentação ou desfragmentação de uma coleção que está ou estava usando a fragmentação por zona

  • WT-12012: restauração dos níveis de detalhamento originais se gen_drain se desbloquear após aumentar os níveis de detalhamento

  • WT-13216: avalie o uso da verificação de despejo do cache no compacto

  • Todos os problemas do JIRA foram encerrados em 7.0.21

  • 7.0.21 Registro de alterações

Importante

A correção para o manuseio incorreto de dados incompletos pode impedir que os mongos aceitem novas conexões

Devido ao CVE-2025-6714, no MongoDB 7.0 antes de 7.0.20, O componente mongos do servidor MongoDB pode deixar de responder a novas conexões devido ao manuseio incorreto de dados incompletos. Esse problema afeta clusters MongoDB fragmentados que são configurados com suporte a balanceador de carga para mongos usando HAProxy em portas especificadas.

Esse problema afeta as seguintes versões do MongoDB Server:

  • 8.0.0 - 8.0.8

  • 7.0.0 - 7.0.19

  • 6.0.0 - 6.0.22

Pontuação CVSS: 7.5

CWE: CWE-834 iteração excessiva E CWE-400 consumo descontrolado de recursos

Problemas corrigidos:

Importante

O MongoDB Server pode ser suscetível ao escalonamento de privilégio devido ao estágio $mergeCursors

Devido ao CVE-2025-6713, no MongoDB 7.0 antes de 7.0.19, um usuário não autorizado pode aproveitar um pipeline de agregação especialmente criado para acessar dados sem a autorização adequada devido ao manuseio inadequado do estágio $mergeCursors em MongoDB Server. Isso pode levar ao acesso a dados sem autorização adicional .

Esse problema afeta as seguintes versões do MongoDB Server:

  • 8.0.0 - 8.0.6

  • 7.0.0 - 7.0.18

  • 6.0.0 - 6.0.21

Pontuação CVSS: 7.7

CWE: CWE-285: autorização imprópria

Problemas corrigidos:

  • SERVIDOR-106752 O MongoDB Server pode ser suscetível ao escalonamento de privilégio devido ao estágio $mergeCursors

Problemas corrigidos:

Importante

vulnerabilidade de negação de serviço de pré-autenticação na autenticação OIDC do servidor MongoDB

Devido ao CVE-2025-6709, no MongoDB 7.0 antes de 7.0.17, O MongoDB Server é suscetível a uma vulnerabilidade de negação de serviço devido ao manuseio inadequado de valores de data específicos na entrada JSON ao usar a autenticação OIDC. Isso pode ser reproduzido usando o mongo shell para enviar uma carga útil de JSON maliciosa, levando a uma falha invariante e à falha do servidor .

Esse problema afeta as seguintes versões do MongoDB Server:

  • 8.0.0 - 8.0.4

  • 7.0.0 - 7.0.16

O mesmo problema afeta o MongoDB Server v6.0, mas um invasor só pode induzir a negação de serviço após a autenticação. Esse problema afeta as seguintes versões do MongoDB Server :

  • 6.0.0 - 6.0.20

Pontuação CVSS: 7.5

CWE: CWE-20: validação de entrada inadequada

Importante

Negação de pré-autenticação da vulnerabilidade de estouro de pilha de serviço na análise de JSON por meio de recursão excessiva no MongoDB

Devido ao CVE-2025-6710, no MongoDB 7.0 antes de 7.0.17, O MongoDB Server pode ser suscetível ao Stack Overflow devido ao mecanismo de análise JSON, em que entradas JSON especificamente criadas podem induzir níveis desnecessários de recursão, resultando em consumo excessivo de espaço de pilha. Essas entradas podem levar a um Stack Overflow que faz com que o servidor falhe, o que pode ocorrer na pré-autorização.

Esse problema afeta as seguintes versões do MongoDB Server:

  • 8.0.0 - 8.0.4

  • 7.0.0 - 7.0.16

O mesmo problema afeta o MongoDB Server v6.0, mas um invasor só pode induzir a negação de serviço após a autenticação. Esse problema afeta as seguintes versões do MongoDB Server :

  • 6.0.0 - 6.0.20

Pontuação CVSS: 7.5

CWE: CWE-674: recursão descontrolada

Problemas corrigidos:

Problemas corrigidos:

Importante

A invalidação inadequada de bytes nulos pode levar a leituras excessivas de buffer no MongoDB Server

No MongoDB 7.0 antes de 7.0.15, um usuário autorizado pode desencadear falhas ou receber o conteúdo de leituras excessivas de buffer da memória do servidor emitindo solicitações especialmente criadas que constroem BSON malformado no MongoDB Server.

Esse problema afeta as versões do MongoDB Server :

  • 5.0.0 - 5.0.29

  • 6.0.0 - 6.0.18

  • 7.0.0 - 7.0.14

  • 8.0.0 - 8.0.2

Problemas corrigidos:

Importante

A correção para a pesquisa automática de CSFLE e Queryable Encryption pode enviar valores em subpipelines como texto simples em vez de texto cifrado

Devido ao CVE-2024-8013, no MongoDB 7.0 antes de 7.0.12, um bug na análise de query de determinados subpipelines auto-referenciais complexos $lookup pode resultar em valores literais em expressões para campos criptografados sendo enviados ao 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 informações confidenciais em texto não criptografado

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 uma transação do mecanismo de armazenamento (ticket) de 0 por um período prolongado de tempo 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 o espaço em disco estiver baixo, o MongoDB falha nas queries que são despejadas no disco.

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:

O totalOplogSlotDurationMicros na mensagem de registro de consultas lentas mostra o tempo entre uma operação de gravar que recebe um carimbo de data/hora de confirmação para confirmar as gravações do mecanismo de armazenamento e a confirmação efetiva. O mongod é compatível com 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.

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 remove o suporte para RHEL 7 / CentOS 7 / Oracle 7 nas arquiteturas PPC64LE e s390x.

O MongoDB 6.3 introduz os seguintes operadores de aggregation:

Operador
Descrição

Retorna o resultado de uma operação bitwise and em uma array de int ou long valores.

Retorna o resultado de uma operação bitwise not em um único argumento ou uma array que contém um único valor int ou long.

Retorna o resultado de uma operação bitwise or em uma array de int ou long valores.

Retorna o resultado de uma operação bitwise xor (exclusiva ou) em uma array de int e long valores.

A partir do MongoDB 6.3, uma mensagem será adicionada ao registro se o tempo que uma operação esperou entre a aquisição de uma conexão de servidor e a gravação dos bytes a serem enviados ao servidor pela rede exceder 1 milissegundo. Para obter detalhes, consulte Mensagem de registro de aquisição de conexão com o fio.

A partir do MongoDB 6.3, o comando connPoolStats tem estas alterações de saída:

Documento
campo(s)

O tempo varia com o número de solicitações de conexão em cada faixa. Número total de solicitações de conexão para todos os intervalos de tempo.

A partir do MongoDB 6.3, a saída explain para o estágio $group inclui novas métricas sobre liberação de dados ao usar o mecanismo de execução clássico:

  • spillFileSizeBytes, o tamanho do arquivo gravado no disco no estágio $group

  • numBytesSpilledEstimate, estimativa do número de bytes gravados no disco no estágio $group antes da compressão

Para obter detalhes, consulte Estágios$sort e $group .

A partir do MongoDB 6.3, o comando serverStatus e o método db.serverStatus() têm estas alterações de saída:

A partir do MongoDB 6.3, uma mensagem será adicionada ao registro se o tempo para enviar uma resposta de operação exceder a opção de limite slowms. Para obter detalhes, consulte Mensagem de registro do fluxo de trabalho da sessão.

A partir do MongoDB 6.3, estes parâmetros de servidor foram adicionados:

O MongoDB 6.3 adiciona os seguintes parâmetros de série temporal:

  • bucketMaxSpanSeconds Define o intervalo de tempo máximo entre as medições em um bucket.

  • bucketRoundingSeconds Define o intervalo de tempo que determina o carimbo de data/hora inicial para um novo bucket.

Iniciando no MongoDB 6.3, o comando compact funciona com coleção de séries temporais.

A partir do MongoDB 6.2, o comando validate e o método db.collection.validate() :

  • Verifique as collections para garantir que os documentos BSON estejam em conformidade com as especificações BSON.

  • Marque coleções de séries temporais para inconsistências de dados internos.

  • Tenha uma nova opção checkBSONConformance que habilita verificações BSON abrangentes.

A partir do MongoDB 6.2, os seguintes reconhecimento de data center são preteridos:

Use os estágios de agregação $collStats e $currentOp .

A partir do MongoDB 6.2, a saída do comando serverStatus inclui estes novos campos:

A partir do MongoDB 6.2, o comando serverStatus e o método db.serverStatus() reportam a métrica opLatencies para instâncias mongos . As latências reportadas por mongos incluem tempo de latência da operação e tempo de comunicação entre as instâncias mongod e mongos .

A partir do MongoDB 6.2, o mongod adiciona estes parâmetros:

Iniciando na versão 6.2, o MongoDB remove o campo maxSize do comando addShard. Como resultado:

  • Executar addShard com o campo maxSize retorna um erro InvalidOptions.

  • Novos documentos na collection shards não incluem mais o campo maxSize.

  • Quaisquer entradas de campo maxSize pré-existentes são ignoradas.

A partir do MongoDB,6.1 os estágios de agregação $addFields e permitem definir caminhos para $set $literal objetos vazios sem usar a expressão.

O MongoDB 6.1 adiciona os seguintes eventos de auditar de cluster:

A partir do MongoDB,6.1 o evento de auditar de inicialização tem esta estrutura:

{
originalClusterServerParameter: <original parameter value>,
updatedClusterServerParameter": <new parameter value>
}

Para obter detalhes adicionais, consulte Ações, detalhes e resultados de eventos de auditoria.

A partir do MongoDB 6.1, os dados em clusters fragmentados são distribuídos com base no tamanho dos dados em vez do número de chunks. Como resultado, você deve estar ciente das seguintes alterações significativas no comportamento de distribuição de dados de cluster fragmentado:

  • O balanceador distribui intervalos de dados em vez de partes. A política de balanceamento busca a distribuição uniforme de dados em vez da distribuição de partes.

  • Os partes não estão sujeitos à divisão automática. Na verdade, eles são divididos apenas quando movidos entre fragmentos.

  • Uma parte agora é chamada de intervalo.

  • moveRange substituiu moveChunk.

A partir do MongoDB 6.1, os registros no diário estão sempre habilitados. Consequentemente, o MongoDB remove a opção storage.journal.enabled e as opções de linha de comando --journal e --nojournal correspondentes.

A partir do MongoDB,6.1 o currentOp comando e o método expandiram db.currentOp() a saída para refragmentação.

As operações de refragmentação podem envolver várias instâncias do MongoDB , e as instâncias do MongoDB podem executar funções diferentes na operação de refragmentação. A operação específica e o papel que a instância do host executa no processo de refragmentação determinam quando cada métrica é atualizada.

Métrica
Função rastreada
Descrição

opStatus

Removido.

desc

Todos

Descreve a ação executada. O valor é um dos seguintes:

  • RefragmentaçãoDoorService<operationUUID>

  • RefragmentaçãoReceptorService<operationUUID>

  • RehardingCoordinatorService<operationUUID>

Para $currentOp, o comando UUID é adicionado ao documento de estado de cada função.

op

Todos

Esta métrica tem um valor constante: "comando".

ns

Todos

O namespace do índice refragmentado. O valor é uma string no formato: <database>.<collection>.

originatingCommand

Todos

Um documento que lista as opções de comando para a operação.

donorState

Doador

O estado atual da máquina de estado do role.

coordinatorState

coordenador

O estado atual da máquina de estado do role.

recipientState

Destinatário

O estado atual da máquina de estado do role.

appDocumentsToCopy

Destinatário

O número de documentos na collection de origem.

documentsCopied

Destinatário

O número de documentos já copiados.

appBytesToCopy

Destinatário

O tamanho total, em bytes, dos documentos na collection de origem.

bytesCopied

Destinatário

O número de bytes copiados. Quando a refragmentação for concluída, esse valor será semelhante ao valor de approxBytesToCopy.

oplogEntriesFetched

Destinatário

O número de entradas de oplog gravadas na coleção de buffer de oplog.

oplogEntriesApplied

Destinatário

O número de entradas de oplog aplicadas a partir da collection de buffer de oplog.

insertsApplied

Destinatário

O número de inserções aplicadas à collection de refragmentação temporária. Cada entrada do oplog que envolve uma inserção incrementa o contador em 1.

updatesApplied

Destinatário

O número de atualizações aplicadas à collection de refragmentação temporária. Cada entrada do oplog que envolve uma atualização incrementa o contador em 1.

deleteApplied

Destinatário

O número de exclusões aplicadas à collection de refragmentação temporária. Cada entrada de oplog que envolve uma exclusão incrementa o contador em 1.

totalOperationTimeElagpedSecs

Todos

O número de segundos desde o início da operação.

totalCopyTimeElapsedSecs

Destinatário

O número de segundos gastos na clonagem.

totalCopyTimeElapsedSecs

coordenador

O número máximo de segundos que um destinatário poderia ter gasto clonando.

totalApplyTimeElapsedSecs

Destinatário

O número de segundos gastos aplicando alterações.

totalApplyTimeElapsedSecs

coordenador

O número máximo aproximado de segundos que um destinatário poderia ter gasto aplicando alterações.

totalCriticalSectionTimeElagpedSecs

Destinatário

O número de segundos gastos na seção crítica.

totalCriticalSectionTimeElagpedSecs

coordenador

O número de segundos em que a seção crítica poderia ter sido mantida.

remainingOperationTimeEstimatedSecs

Destinatário

O número estimado de segundos até a conclusão da operação.

allShardsLowestRemainingOperationTimeEstimatedSecs

coordenador

Calculada em todos os shards, é a estimativa mais baixa do número de segundos restantes.

allShardsHighestRemainingOperationTimeEstimatedSecs

coordenador

Calculada em todos os shards, é a estimativa mais alta do número de segundos restantes.

countWritesToStashCollections

Destinatário

O número de escritas nas collections de estoque do destinatário.

countWritesDuringCriticalSection

Doador

O número de tentativas de escrita durante a seção crítica do doador.

countReadsDuringCriticalSection

Doador

O número de tentativas de leitura durante a seção crítica do doador.

A partir do MongoDB 6.1:

  • Para melhorar a eficiência, o MongoDB pode agrupar várias exclusões de documentos em lote.

  • Os resultados explain do comando contêm um novo BATCHED_DELETE estágio para exclusões de documentos em lote.

Expressões Regulares Compatíveis com Perl (PCRE) é a biblioteca usada pelo MongoDB para implementar a correspondência de padrões de expressões regulares. A partir da versão 6.1, o MongoDB atualiza a biblioteca PCRE para PCRE2. PCRE2 é a biblioteca PCRE atual e é mantida e atualizada ativamente.

Para saber como realizar correspondências de regex no MongoDB, consulte as seguintes páginas:

A partir do MongoDB 6.1, se a primeira e segunda tentativas de uma retryable write falharem sem que uma única gravação seja executada, o MongoDB retornará um erro com o rótulo NoWritesPerformed.

O rótulo NoWritesPerformed diferencia os resultados de operações em lote como insertMany(). Em uma operação insertMany, um dos seguintes desfechos pode ocorrer:

Resultado
Saída MongoDB

Nenhum documento é inserido.

Erro retornado com rótuloNoWritesPerformed.

Trabalho parcial feito. (Pelo menos um documento é inserido, mas não todos.)

Erro retornado sem rótulo NoWritesPerformed.

Todos os documentos são inseridos.

Retornou com sucesso.

A aplicação pode usar o rótulo NoWritesPerformed para determinar definitivamente que nenhum documento foi inserido. Esse relatório de erros permite que o aplicativo mantenha um estado preciso do banco de dados ao lidar com retryable writes.

Nas versões anteriores do MongoDB, um erro é retornado quando a primeira e a segunda tentativas de uma retryable write falha. No entanto, não há distinção que indique que nenhuma gravação foi realizada.

A partir do MongoDB,6.1 há novas métricas disponíveis para refragmentação. A saída dos seguintes comandos foi alterada:

A partir do MongoDB 6.1, o MongoDB adiciona os seguintes novos parâmetros:

A partir do MongoDB 6.1, o comando serverStatus e o método db.serverStatus() têm estas alterações de saída:

resharding.remainingOperationTimeEstimatedMillis é substituído por:

  • oplogApplierApplyBatchLatencyMillis

  • collClonerFillBatchForInsertLatencyMillis

Em raras circunstâncias, uma gravação pode falhar devido à pressão de cache. Quando isso acontece, o MongoDB emite um erro TemporarilyUnavailable e incrementa o contador temporarilyUnavailableErrors em dois locais: o registro de queries lentas e o Full Time Diagnostic Data Capture (FTDC).

Operações individuais em transações com vários documentos nunca retornam TemporarilyUnavailable erros.

Ajuste as propriedades de repetição de gravação modificando os parâmetros temporarilyUnavailableBackoffBaseMs temporarilyUnavailableMaxRetries e.

A partir do MongoDB 6.1, você pode usar a opção *UCP para queries regex. A opção *UCP corresponde a caracteres não ASCII (especificamente, a opção pode corresponder a caracteres UTF-8). No entanto, a opção *UCP resulta em uma query mais lenta do que uma sem a opção especificada.

Para ver um exemplo que usa a *UCP opção, consulte Estender opções de Regex para corresponder caracteres fora do ASCII.

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 desatualizar fCV de seus sistemas para ou de uma versão Rapid Release 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 o fCV do 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

Registro de alterações

Nesta página