Importante
Se você executar uma versão do MongoDB anterior a 7.0.17 com o TLS ativado usando o pacote openssl-3.2.2-6.el9_5.x86_64, mongod poderá mostrar alto uso da CPU mesmo com uma carga de trabalho leve devido a um bug da versão openssl. Para resolver esse problema, atualize para o MongoDB 7.0.17 ou posterior, ou use uma das seguintes soluções alternativas:
Faça downgrade do pacote openssl para uma versão anterior a
openssl-3.2.2-6.el9_5.x86_64.Desative o TLS para a implantação do MongoDB (não recomendado).
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 |
|---|---|
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.12 | |
7.0.0 - 7.0.15 |
Lançamentos de patches
7.0.41 - Em breve
Problemas corrigidos:
SERVIDOR-104464 Gerenciar idents de índice ausentes durante a recuperação de inicialização do conjunto de réplicas após o desligamento sem limpeza
SERVIDOR-111573 Adicionar configuração a collstats para retornar métricas completas da fonte de dados de wiredtiger
SERVIDOR- O111885 índice de compilação de mesclagem de derramamentos entra em conflito com replSetGetStatus
SERVER-127346 Fazer com que a atualização da sessão tenha prioridade de entrada kExempt
7.0.40 - Ago 11 de 2026
Esta versão contém importantes melhorias de segurança e confiabilidade.
Importante
MongoDB 7.0.40 contém correções para:
Para obter as informações mais recentes sobre as atualizações de segurança do MongoDB, consulte Boletins de segurança do MongoDB.
Problemas corrigidos:
SERVIDOR-117854 GranularityRonderPowersOfTwo deve declarar para números de informações
SERVIDOR-129460 garantir válido
jsonSchemanas atualizações de séries temporaisSERVER-129617 Melhor validação para
NaNem$percentilee$medianSERVIDOR- Não129618 permitir
$vectorSearchque argumentos fornecidos pelo usuário substituam opções geradas internamenteSERVER-129994 Corrige um armazenamento de malformado
FlatBSONcausado pela inserção de nomes de campo duplicadosSERVER-130110 Bloquear o
_internalSetObjToThiscampo somente interno de$functionatrás de uma verificação do cliente internoSERVER-130111 Evitar conversão de tipo inválido durante a serialização da expressão de correspondência
SERVIDOR-130117 Corrige um use-after-free de heap na validação de collection para polígonos grandes
SERVER-130139 Conta para a
overificação de consistência versus-UUIDSERVER-130167 Impeça que o escopo JavaScript construa solicitações de exclusão concatenando
_idcampos não limposSERVIDOR-130188 Excluir índices parciais da
2dspherevalidação de salto de geometriaSERVIDOR-130198 Aumentar o requisito de autorização para
slowmsesampleRatenoprofilecomandoSERVIDOR-130264 Aplicar a lista de permissões do mecanismo SASL intra-cluster na configuração da conexão de saída
SERVER-130266 Proibir
$texte$nearem$_internalSchemaCondSERVIDOR-130481 Permitir o tipo de símbolo em
CommandHelpers::parseNsFromCommandSERVIDOR-130544 Aplicar o usuário interno para
commitTransactioneabortTransactionem transações preparadasSERVIDOR-130633 Autorizar
compactStructuredEncryptionDataecleanupStructuredEncryptionDatano escopo do banco de dados
7.0.39 - julho 22, 2026
Esta versão contém importantes melhorias de segurança e confiabilidade.
Importante
MongoDB 7.0.39 contém correções para:
Para obter as informações mais recentes sobre as atualizações de segurança do MongoDB, consulte Boletins de segurança do MongoDB.
Problemas corrigidos:
SERVIDOR- Manipular123081 especificações do índice curinga composto em
$_internalIndexKeySERVIDOR-127280 Rejeitar baseado
sortByem expressão no$linearFillanalisadorSERVER-127357 Verificação de
fromcampos duplicados emDocumentSourceGraphLookup::createFromBson()SERVIDOR-127566 Limitar o fator de contenção que pode ser usado para2 campos FLE
SERVIDOR-127689 Permitir apenas que clientes internos especifiquem
$_internalPredicateSERVIDOR-127694 Adicionar tipo de verificação para
DBPointerSERVIDOR-127831 Proibir que usuários2 externos executem comandos FLE com
crudProcesseddefinido como trueSERVER-128198 Corrija
mongoskillCursorspara verificar a autorização em relação ao namespace do cursor em vez do namespace da solicitaçãoSERVIDOR-128341 Corrigir uma falha do servidor causada pela
$metaclassificação em uma expressãoSERVIDOR-129103 Restringir subtipos de BinData de destino em $convert e $constância/$literal
SERVIDOR-128362 Adicionar uma verificação nula no valor de retorno em
ocspClientCallbackSERVIDOR-128433 Impedir que clientes externos definam
runtimeConstants.userRolesSERVER-128473 Corrige um use-after-free em
$functioncausado por umaadvanceGeneration()chamada ausente em argumentos BSON retidosSERVIDOR-128494 Validar BSON externo em
MultiBsonStreamCursorSERVIDOR-128517 Adicionar um tempo limite mínimo configurável para pré-autenticação rastreável
hellopara evitar um loop ativo demaxAwaitTimeMSvalores muito pequenosSERVER-128832
ImplScopeModuleLoaderCriação de guardaSERVIDOR-94001 Continuar com o processo lógico de atualização do cache da sessão mesmo se a atualização falhar
SERVIDOR-106165 Secundários majoritários com atraso 30s após um failover que viola o SLA de leitura/gravação
SERVER-116284 Certifique-se de que MultiStatementTransactionRequestsSender envie commitTransaction para todos os shards antes de processar resultados
WT-12657 Adicionar thread utilitário de limpeza de checkpoint
7.0.37 - 11 de junho de 2026
Importante
O MongoDB contém 7.0.37 uma correção para CVE-2026-11933
Para obter as informações mais recentes sobre as atualizações de segurança do MongoDB, consulte Boletins de segurança do MongoDB.
Problemas corrigidos:
SERVIDOR-128125 Alinhar a semântica de propriedade bsonObjToArray com bsonGetImmutable
7.0.36 - 10 de junho de 2026
Problemas corrigidos:
SERVER-127984 Acelere isMetadataFieldName com correspondência de campo em tempo de compilação
7.0.35 - 9 de junho de 2026
Importante
MongoDB 7.0.35 contém uma correção para:
Para obter as informações mais recentes sobre as atualizações de segurança do MongoDB, consulte Boletins de segurança do MongoDB.
Problemas corrigidos:
SERVER-86326 Aumenta o comprimento máximo do padrão regex para 32k
SERVER-111007 A validação deve distinguir entre as causas raiz ao encontrar dados de esquema misto
SERVIDOR-121132 Inconsistência temporária do bucket compactado durante a sincronização inicial causando falha
SERVIDOR-112792 Informar a existência de índices compostos de curingas prefixados pela chave de shard
SERVIDOR- A126049 verificação do limite de heap por escopo do MozJS usa o contador TG global do processo
SERVIDOR-125063 Proibir o aninhamento de BSONColumn dentro de BSONColumn
SERVER- Os123507 predicados criptografados dentro de um
$vectorSearchpré-filtro devem ser substituídos por espaços reservados de criptografiaSERVER-124190 Proibir o
exchangecampo agregado de clientes não internosSERVIDOR-123918 Validar
runtimeConstants.userRolesno IDLSERVER-123951
$_internalConvertBucketIndexStatsnão deve retornar PauseExecution na conversão de índice com falhaSERVER-124031 Verificar
Exchange::getTargetConsumerse o manipula corretamente a MaxKeySERVIDOR-123633 Correção do tratamento de campos com prefixo $ do usuário que colidem com metadados internos
SERVIDOR-123370 A senha da query LDAP é registrada quando definida por setParameter
SERVER-123440 GeometryCollection com polígono strict-winding causa 2falha na geração da chave de índice dsphere
SERVIDOR-124959 Validar limites da array de transferência de documentos e
$_internalApplyOplogUpdateBSON
7.0.34 - 12 maio de 2026
Importante
MongoDB 7.0.34 contém uma correção para:
Para obter as informações mais recentes sobre as atualizações de segurança do MongoDB, consulte Boletins de segurança do MongoDB.
Problemas corrigidos:
SERVIDOR- Não permitir120668
$trimcom string de máscara muito grandeSERVIDOR-121895 Melhorar a supressão de erros de validação
SERVIDOR-122032 Chamando
replaceEncryptedFieldsInFiltercom resultados de projeção posicional em uso após a liberaçãoSERVIDOR-122449 Melhorar
$bitSetexpressões de correspondênciaSERVIDOR-126021 Comportamento indefinido ao inserir dados com nomes de campo duplicados em coleções de séries temporais
7.0.32 - abr 29 de 2026
Importante
MongoDB 7.0.32 contém uma correção para:
Para obter as informações mais recentes sobre as atualizações de segurança do MongoDB, consulte Boletins de segurança do MongoDB.
Problemas corrigidos:
SERVIDOR-:119679 verificação de autorização ausente em updateUser
SERVER-:119981 corrige binDataClean() para tipo preterido
SERVER-:105047 a consulta usando $or e $ne na coleção fragmentada pode incluir documentos órfãos
SERVIDOR-:110345 documentos config.rangeDeletions para tarefas de exclusão de intervalo incompletas podem ser excluídos devido ao filtro de exclusão não exato
110423SERVIDOR-: $group pode usar uma verificação distinta em um Enterprise Advanced, que oculta resultados nulos/ausentes
SERVIDOR-:110916 uso após a movimentação em targetShardsAndAddMergeCursors()
111486SERVIDOR-: $group ainda poderá usar uma verificação distinta em um Enterprise Advanced se um índice alternativo estiver disponível
7.0.31 - Mar 17, 2026
Importante
MongoDB 7.0.31 contém uma correção para:
Para obter as informações mais recentes sobre as atualizações de segurança do MongoDB, consulte Boletins de segurança do MongoDB.
SERVIDOR-:55068 define o
net.maxIncomingConnectionsmáximo em sistemas Linux como(RLIMIT_NOFILE / 2) * 0.882688SERVIDOR-:
mongodfalha no, correção do bug quando as conexões excederem o do wiredtigersession_maxSERVIDOR-:95374 os índices compostos de curingas podem empurrar incorretamente os predicados durante a união ou o planejamento
SERVIDOR-:103774 não permitir que índices curinga compostos sejam usados como índice de chave de shard
SERVIDOR-:110953 verificar se nenhum documento órfão está presente em um shard de destinatário antes de iniciar a clonagem de um intervalo
SERVIDOR-:113319 o pushdown após um campo renomeado é feito incorretamente quando a raiz da expressão é uma expressão de caminho do campo
$matchrenomeadoSERVER-:115962 o balancer não progride quando o shard mais carregado já está balanceado dentro de suas zonas
118428SERVIDOR-:
mongocryptdrejeita mensagens grandesSERVIDOR-:119317 melhorar o ciclo de vida do objeto do5 estado de hash MD
SERVER-:119319 corrige o bug ExpressionContext use-after-free
WT-:14140 bloqueio de esquema desnecessário feito para
"file:"dhandles ativos que não são varridos
7.0.30 - 10 fevereiro de 2026
SERVER-118713 - Não é possível criar o 2índice dsphere da série temporal com um usuário do sistema
7.0.29 - 27 janeiro de 2026
Importante
MongoDB 7.0.29 contém uma correção para:
Para obter as informações mais recentes sobre as atualizações de segurança do MongoDB, consulte Boletins de segurança do MongoDB.
Problemas corrigidos:
SERVIDOR-94315 - Bug de filtragem de shard com agrupamento
SERVIDOR-99119 - Alterar invariantes relacionados à localização geográfica para tasserts
SERVER-102364 - Verifique periodicamente a profundidade acumulada de $reduce menor que maxAllowableBSONDepth
SERVIDOR-112952 - reforçar a verificação de autenticação do comando de perfil
SERVER-113532 -8 [.]0 Introduza um novo limite CursorResponseBsonSize de 16MB+32KB
SERVIDOR-113685 - Segfault para query no índice curinga composto
SERVIDOR-114695 - Atualizar valor padrão para conexões pendentes
SERVIDOR-114838 - O Bloqueio do Gerenciador é suscetível a um ataques DDoS hostis
SERVIDOR-115296 - Reduzir valores brutos ResourceId de mensagens de erro
SERVER-116206 - Melhor tratamento de exceções para compressores de mensagens
SERVIDOR-116210 - Ajustar o tamanho máximo do buffer para solicitações de entrada
SERVER-116211 - Limite de memória alocado por buffers de rede
7.0.28 - 19 de dezembro de 2025
Importante
O MongoDB contém 7.0.28 uma correção para CVE-202514847-.
Para obter as informações mais recentes sobre as atualizações de segurança do MongoDB, consulte Boletins de segurança do MongoDB.
Problemas corrigidos:
SERVIDOR-:115508 criar buffers de tamanho mínimo para mensagens descompactadas
7.0.26 - 21 de novembro de 2025
Importante
O MongoDB inclui 7.0.26 correções para CVE-2025-,12893 CVE-2025-,13507 CVE-2025-,13643 CVE-2025-13644 e CVE-2025-.14345
Para obter as informações mais recentes sobre as atualizações de segurança do MongoDB, consulte Boletins de segurança do MongoDB.
Problemas corrigidos:
77172SERVIDOR-: "abortExpiredTransactions" o thread pode ficar preso se não conseguir sair de uma sessão
SERVER-:89039 suporta um comando que retorna após o início de uma compilação de índice
SERVIDOR-:92236 as migrações de chunks devem usar fontes de cancelamento de curta duração
SERVIDOR-:102670 tratamento de erros de inserção de série temporal ordenada incorreta
SERVER-:107361 a verificação de rollover no catálogo de buckets pode falhar ao verificar o esquema misto para medições grandes
SERVIDOR-:108565 melhorar o tratamento de gravações superdimensionadas em coleções de séries temporais.
SERVIDOR-:112467 acompanhar e relatar o número de conexões proxy pendentes
WT-:9575 as páginas com atualizações mais recentes para o id txn mais antigo não são enfileiradas para remoção
SERVIDOR-:106589 provisionar mais memória para compilações de índice durante a sincronização inicial
SERVIDOR-:102428 a sincronização inicial lógica aloca duplos
maxIndexBuildMemoryUsageMegabytesSERVIDOR-:86591 aprimorar o tratamento de erros do InitialSync para problemas de rede transitórios
7.0.25 - 2 de outubro de 2025
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 executam.
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 à vida útil.
Problemas corrigidos:
SERVIDOR-:105873 QueryPlannerParams não deve manter ponteiros de propriedade de IndexCatalogEntry
7.0.24 – 10 de setembro de 2025
Problemas corrigidos:
SERVIDOR-:103505 lidar com erros de metadados em WiredTigerUtil::setTableLogging
SERVER-:103741 adicionar métricas de coleção de perfil
SERVER-:104771 [v.]7 0A sincronização inicial falha quando a origem tem índices TTL em uma collection limitada
WT-:14391 Verifique se o servidor de remoção está em execução antes de abrir o HS
WT-:14653 adicione registros/estatísticas à reconciliação para acompanhar as atualizações de HS
7.0.23 - Ago 13 de 2025
Problemas corrigidos:
SERVIDOR-:81797 fazer nossa própria implementação portátil de
notify()e atômicoswait()com suporte a tempo limiteSERVER-:86656 cria um mutex de leitura e gravação otimizado para leitores
SERVER-:95324 desativar chunkMigrationConcurrency
SERVER-:101581 verifica o estado do soquete antes de aceitar a conexão no ASIO
SERVIDOR-:103934 o FCBIS deve ser capaz de chamar KVEngine::cleanShutdown sem vazar memória
7.0.22 - 18 de julho de 2025
Importante
Devido ao CVE-2025-10061, no MongoDB 7.0 antes de 7.0.6, 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.6, 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:
SERVER-:101230 Defeito 155126 de análise de cobertura: usando iterador inválido
SERVIDOR-:95523 o upsert não lida corretamente com a nova tentativa de DuplicateKey
SERVER-:95524 evite tentar novamente em caso de erro de chave duplicada para upserts em transações com vários documentos
SERVER-:96197 os _resolvedNamespaces do ExpressionContext não conseguem distinguir entre coleções com o mesmo nome em bancos de dados diferentes
SERVIDOR-:98386 o shard não verifica corretamente a ShardVersion recebida para coleções de séries temporais
SERVER-99616 $group pode clicar em MONGO_verify
7.0.21 - 04 junho, 2025
Problemas corrigidos:
SERVIDOR-:92806 a entrada do cache do plano ignora o agrupamento do índice com $elemMatch
SERVIDOR-:95672 os índices em campos de array que contêm sub-arrays não incluem alguns resultados
SERVIDOR-:97044 corrija um problema em que os change streams possam gerar incorretamente uma notificação "drop" evento durante a refragmentação ou desfragmentação de uma collection que está ou estava usando fragmentação de zona
WT-:12012 restaura os níveis de verbosidade originais se gen_drain se soltar após aumentar os níveis de verbosidade
WT-:13216 avalie o uso da verificação de despejo do cache no compacto
7.0.20 - abr 29 de 2025
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.6, 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:
SERVER-:93120 coleção FTDC bloqueada na leitura bloqueada do estado backupCursor
SERVIDOR-:106753 o manuseio incorreto de dados incompletos pode impedir
mongosque aceite novas conexões
7.0.19 - abr 14 de 2025
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.6, 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:
- SERVER- O106752 MongoDB Server pode ser suscetível ao escalonamento de privilégio devido ao estágio
$mergeCursors
7.0.18 - Mar 19, 2025
Problemas corrigidos:
SERVER- A82037 memória usada pelos derramamentos do classificador pode crescer sem limite
SERVER-90689 Altere as verificações de aviso de inicialização do THP para também verificar as configurações de nível do processo antes de emitir aviso
SERVIDOR-95452 Impedir que CollectionRoutingInfoTargeter itere todos os intervalos de chunks durante a atualização e exclusão
SERVIDOR-98720 Adicionar chamadas redact() ausentes ao "Erro do executor do plano" registros de aviso
SERVIDOR-100901 Relaxar a digest do usuário invariante para a declaração em ShardingTaskExecutor
7.0.17 - 21 fevereiro de 2025
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.6, 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.6, 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:
SERVER-73641 A filtragem de séries temporais pode perder eventos de intervalo estendido quando fragmentada
SERVIDOR-76883 Reduzir o chattiness de "A função não existe" registros para usuários de origem externa
SERVER-85627 Informações de registro do thead interrompido no stepdown killOp
SERVER-89614 $out não limpa corretamente entre renomear e descartar a coleção temporária
SERVER-106748 negação de serviço pré-autenticação ao aceitar a autenticação OIDC
SERVIDOR-106749 Pre-autenticação negação de vulnerabilidade de estouro de pilha de serviço na análise JSON por meio de recursão excessiva no MongoDB
7.0.16 - 20 de dezembro de 2024
Problemas corrigidos:
SERVIDOR- O67816 arredondamento do bucket de série temporal para datas anteriores a1970 se comporta inesperadamente
SERVER-90672 Investigue o possível bug no caminho de inserção de série temporal que permite que vários buckets tenham os mesmos OIDs, em listras
SERVER-90893 listDatabases inconsistentes com operações DDL simultâneas
SERVER-94559 A medição de séries temporais exclui a atualização do minTime de um bucket
SERVIDOR-95067 Inserções de séries temporais podem gerar vários lotes com referência ao mesmo bucket
7.0.15 - 24 de outubro de 2024
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.6, 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.1
SERVIDOR- A96419 minimização inadequada de bytes nulos pode levar a leituras excessivas de buffer no MongoDB Server
7.0.14 - Ago 26 de 2024
Problemas corrigidos:
SERVIDOR-82814 Operadores de comparação de expr internos ao determinar limites de varredura de collection clusterizada
SERVER-85892 $merge com pipeline após $documents retornar erro
SERVER-91195 Fornece uma solução genérica backportable 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 Corrija a lógica de movimentação do servidor de despejo para que ele possa remover todas as páginas
7.0.12 - 28 junho, 2024
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.6, 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:
SERVER-96254 CSFLE e Queryable Encryption podem falhar ao criptografar valores em subpipelines
SERVIDOR-64574 Atualizar o MozJS/Spidermonkey para o ESR mais recente
SERVIDOR-86674 A recuperação primária pode acreditar que foi recuperada quando não é
SERVER-90485 $sort não funciona como esperado quando usado em conjunto com includeArrayIndex
SERVIDOR-91362 Desempenho: não copie o "scope" do JS objeto se existir um JsExecution em cache
WT-12736 Marque a página como limpa depois de re-instanciar a página com atualizações preparadas
7.0.11 - 23 maio de 2024
Problemas corrigidos:
SERVIDOR- Não execute85279 o coletor de estatísticas de collection FTDC em arbiters
SERVIDOR-89495 Desativar parâmetros de teste mesmo quando nenhum setParameters for especificado
SERVIDOR-89625 Manipular diretórioPerDb e wiredTigerDirectoryForIndexes corretamente ao relatar namespaces e UUIDs durante um backup
SERVER-90288 Os operadores de query do Bitwise devem interpretar o byte endereçável mais baixo no BinData como o byte menos significativo
WT-12609 Melhorar a limpeza do checkpoint e a lógica de remoção da página
7.0.9 - abr 26 de 2024
Problemas corrigidos:
SERVIDOR-79637 Resultados de query incorretos em $lookup com collection externa TS usando um predicado correlacionado
SERVER-82349 Mongo 7 falha na exclusão/descarte do índice applyOps sem um UUID de coleção
A validaçãoSERVER-86407 não produz resultados completos quando deveria
SERVIDOR-88173 As comparações de bits BinData fornecem resultados errados em muitos casos
WT-10807 Ignorar páginas excluídas na memória como parte da caminhada na árvore
7.0.8 - abr 3 de 2024
Problemas corrigidos:
SERVIDOR-78556 Retornar o padrão de internalInsertMaxBatchSize para 64
SERVIDOR-79575 Corrigir a contagem de nós numa
SERVER-86583 Leitura de snapshot não transacional em collection não fragmentada pode ser executada com metadados de fragmentação incompatíveis
SERVIDOR-87666 A forma de query para $documents é exclusiva em cada execução
SERVIDOR-88360 Remover "O catálogo de fragmentação e o uuid da coleção de catálogo local não correspondem" afirmação de gatilho
7.0.7 - Mar 18, 2024
Problemas corrigidos:
SERVER-84368 CreateIndex falha com StaleConfig se executado a partir de um mongos obsoleto em uma coleção não vazia fragmentada
SERVIDOR-84628 Aviso de inicialização no mongos para read/write concern
SERVER-85459 [v.]7 0bucketRoundingSeconds param é aceito por nós no FCV.,6 0 7binário.0
SERVIDOR-85869 A localização exaustiva no fragmento de configuração pode retornar dados obsoletos
SERVER-87061 Transações de vários documentos fragmentadas podem observar efeitos parciais da operação de refragmentação simultânea
7.0.6 - 28 de fevereiro de 2024
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:
SERVER-72703 Downgrade do bloqueio de banco de dados de $out para Mode_IX
SERVIDOR-82353 Transações com vários documentos podem perder documentos quando movePrimary é executada simultaneamente
SERVIDOR-84338 Queries de nível superior $or podem levar a uma entrada inválida de cache do plano SBE, que retorna resultados errados
SERVIDOR-84723 Transações multidocumento fragmentadas podem observar efeitos parciais de operações DDL simultâneas
WT-11062 Liberte o endereço de referência para permitir o acesso simultâneo
7.0.5 - Jan 5, 2024
Problemas corrigidos:
SERVIDOR- A33494 WT SizeStorer nunca exclui entradas antigas
SERVER-80363 write concern padrão do servidor não é honrado quando o tempo limite é definido
SERVER-83091 $ou query pode disparar um loop infinito durante a enumeração do plano
SERVIDOR-83830 Na compilação Enterprise, a criação de uma coleção em um conjunto de réplicas com a opção storageEngine.inMemory quebra os secundários
WT-7929 Investigue uma solução para evitar paralisações do FTDC durante o checkpoint
7.0.4 - 27 de novembro de 2023
Problemas corrigidos:
SERVIDOR- A67962 aplicação de config.image_collection exclusões precisa de um melhor controle de concorrência
SERVER-69244 $merge falha quando a preocupação de leitura padrão da sessão foi definida como "majority"
SERVIDOR-79975 [Clássico] Otimizar grandes chaves de grupo
SERVIDOR-81133 Acelerar lógica para manter o cache da tabela de roteamento
SERVIDOR-82446 $densify caso de uso pode resultar em documentos fora do alcance
7.0.3 - 9 de novembro de 2023
Problemas corrigidos:
SERVIDOR-77506 Transações multidocumento fragmentadas podem não corresponder aos dados e à ShardVersion
SERVIDOR-79088 Melhorar o desempenho do multiplanejador SBE para queries que retornam zero resultados
SERVIDOR- O81106 shard do destinatário não espera a persistência local da versão da collection antes de iniciar a fase de clonagem
SERVER-81966 Evita a modificação de instâncias anteriores do ChunkMap durante a atualização
WT-11564 Corrigir RTS para ler o valor de transação mais recente somente quando ele existir no checkpoint
7.0.2 - 29 de setembro de 2023
Problemas corrigidos:
SERVIDOR-74954 Resultado incorreto quando contido $ou reescreve $elemMatch condição extra
SERVIDOR- Tornar79771 a operação de refragmentação resiliente a NetworkInterfaceExceededTimeLimit
SERVER-79912 CheckReplDBHash relata falha com coleções system.buckets devido a BSON inválido
SERVIDOR-79982 Escritores de catálogos em lote podem ser executados simultaneamente com HistoricalCatalogIdTracker::cleanup() e levar a resultados incorretos de localização de PIT
SERVIDOR-80488 Evitar percorrer a tabela de roteamento na política de divisão de chunk do balanceador
7.0.1 - 5 de setembro de 2023
Problemas corrigidos:
SERVER-71627 A atualização das informações de rota de coleta em cache bloqueia severamente todas as solicitações do cliente para um cluster com 1 milhões de blocos
SERVER-77183 projeto $ seguido por $group às vezes dá resultados incorretos
SERVER-80256 QueryPlannerAnalysis::explodeForSort não deve assumir que as verificações de índice produzem resultados desconexos
7.0.0 - Aug 15, 2023
Problemas conhecidos
Esta seção descreve problemas conhecidos no MongoDB 7.0 e seu status de resolução.
Na versão | Emitir | Status |
|---|---|---|
7.0.29, 7.0.30 | SERVER-:118428 as alterações em Para evitar este bug, ignore estas versões ao atualizar | Não resolvido. |
Gerenciamento do índice do Atlas Search
A partir do MongoDB,7.0 você pode gerenciar índices do MongoDB Search com mongosh métodos e comandos de banco de dados . Os comandos de índice do MongoDB Search só estão disponíveis para sistemas hospedados no MongoDB Atlas e exigem uma camada do cluster do Atlas de pelo menos M.10
Para gerenciar índices de pesquisa MongoDB , use os seguintes comandos:
Métodos de mongosh
Nome | Descrição |
|---|---|
Cria um índice do MongoDB Search em uma collection ou visualização especificada. | |
Exclui um índice de pesquisa MongoDB existente. | |
Retorna informações sobre índices de pesquisa MongoDB existentes em uma coleção ou visualização especificada. | |
Atualiza um índice de pesquisa MongoDB existente. |
Comandos de banco de dados
Nome | Descrição |
|---|---|
Cria um ou mais índices do MongoDB Search em uma collection ou visualização especificada. | |
Exclui um índice de pesquisa MongoDB existente. | |
Atualiza um índice de pesquisa MongoDB existente. |
Estágios de aggregation
Nome | Descrição |
|---|---|
Lista queries de amostra para todas as collections ou para uma collection específica. | |
Retorna informações sobre índices de pesquisa MongoDB existentes em uma coleção ou visualização especificada. |
Alterações gerais
Comportamento de autenticação do token de acesso OIDC
A partir do MongoDB 7.0, somente um campo audience oidcIdentityProviders pode ser especificado para tokens de acesso do OIDC. Os campos audience com arrays vazios ou arrays de múltiplas strings são inválidos.
Para obter detalhes, consulte CamposoidcIdentityProviders.
Eliminar um índice de chave de fragmento com hash
A partir do MongoDB 7.0.3 (e 6.0.12 and 5.0.22), você pode descartar o índice de uma hashed shard key.
Isso pode acelerar a inserção de dados para collections fragmentadas com uma hashed shard key.
Para mais informações, consulte Descartar um índice de hashed shard key.
Campos de tempo de atualização de cache
A partir do MongoDB 7.0, as mensagens de registro para queries lentas incluem um novo campo de tempo de atualização do cache.
Transações simultâneas do mecanismo de armazenamento (leitura e gravação de tickets)
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 pós-7.0 e para versões anteriores:
Versão | Diagnosticando cenários de sobrecarga |
|---|---|
7.0 e posterior | 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 anteriores | 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:
wiredTiger.concurrentTransactionsRenomeado
queues.executionna v8.0.
currentOp Métricas
Iniciando no MongoDB 7.0, o comando currentOp e o método db.currentOp() incluem estes novos campos:
$currentOp Métricas (agregação)
A partir do MongoDB 7.0, o estágio de agregação currentOp inclui estes novos campos:
Índices compostos de curingas
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.
Grandes eventos de fluxo de mudanças
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:
Alteração de saída doserverStatus
serverStatus inclui os seguintes novos campos em sua saída:
- Métricas de cache do plano
- Métricas doqueryAnalyzer
Mecanismo de execução de consulta baseado em slot
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.
Variável do sistema de funções do usuário
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.
Novas estatísticas de fragmentação para migrações de chunk
Disponível a partir de MongoDB 7.1 (e 7.0, 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:
Nova mensagem de registro de query lenta
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.
Novos parâmetros
Parâmetros relacionados ao analyzeShardKey
O MongoDB 7.0 adiciona os seguintes parâmetros relacionados ao comando analyzeShardKey:
autoMergerIntervalSecs Parameter
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.
autoMergerThrottlingMS Parameter
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.
balancerMigrationsThrottlingMs Parameter
O MongoDB 7.0 adiciona o parâmetro balancerMigrationsThrottlingMs que permite limitar a taxa de balanceamento.
Parâmetro enableDetailedConnectionHealthMetricLogLines
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 no log.
oidcIdentityProviders Parâmetro
MongoDB 7.0 adiciona o parâmetro oidcIdentityProviders que permite a você especificar configurações IdP ao utilizar autenticação OpenID Connect.
Parâmetros relacionados a configureQueryAnalysis
O MongoDB 7.0 adiciona os seguintes parâmetros relacionados ao comando configureQueryAnalysis:
Limite de comprimento de caracteres para $trim, $ltrim e $rtrim
A partir do MongoDB 7.0.33, o comprimento da string que você fornece para chars está limitado a 4096 caracteres. Para obter detalhes, consulte Limitações $trim.
Segurança
Disponibilidade gerado de queryable encryption
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.
Compatível com KMIP 1.0 e 1.1
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.
Suporte a OpenSSL e FIPS
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
A partir do MongoDB 8.0, o MongoDB é compatível com OpenSSL 3.0 e com o provedor OpenSSLFIPS para Amazon Linux 2023.3.
Para saber mais, consulte TLS/SSL (criptografia de transporte).
OpenID connect
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.
Agregação
Novas operadoras:
Nome | Descrição |
|---|---|
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. |
Especificador de Nome do Mês para $dateToString
O MongoDB 7.0 adiciona os seguintes especificadores de formato para utilizar com o operador $dateToString:
Especificadores | Descrição | Valores possíveis |
|---|---|---|
| Nome do mês abreviado (3 letras) |
|
| Nome do mês inteiro |
|
Séries temporais
O MongoDB 7.0 remove a maioria das limitações de séries temporais dessas operações que são baseadas no comando delete:
Fragmentação
Diagnóstico de fragmentação de metadados
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 assistente estão agora disponíveis por meio mongosh de:
Para obter mais informações sobre as inconsistências que o comando verifica, consulte Tipos de inconsistência.
comando EmergeAllChunksOnShard
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 fusão automática
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:
enableAutoMerger Parameter for configureCollectionBalancing
A partir do 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.
Operações bloqueadas por métricas de atualização removidas
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.
Comando analyzeShardKey e método db.collection.analyzeShardKey() .
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.
Comando ConfigureQueryAnalyzer e método db.collection.configureQueryAnalyzer() .
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.
Suporte a plataformas
Plataformas removidas
O MongoDB 7.0 remove o suporte para RHEL 7 / CentOS 7 / Oracle 7 nas arquiteturas PPC64LE e s390x.
Alterações introduzidas no MongoDB 6.3
Agregação
O MongoDB 6.3 introduz os seguintes operadores de aggregation:
Operador | Descrição |
|---|---|
Retorna o resultado de uma operação bitwise | |
Retorna o resultado de uma operação bitwise | |
Retorna o resultado de uma operação bitwise | |
Retorna o resultado de uma operação bitwise |
Mensagem de registro de aquisição de conexão com fio
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.
connPoolStats Métricas
A partir do MongoDB 6.3, o comando connPoolStats tem estas alterações de saída:
Documento | campo(s) |
|---|---|
Novo documento | 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. |
explain A saída inclui campos para o tamanho do Data Federation despejados
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$groupnumBytesSpilledEstimate, estimativa do número de bytes gravados no disco no estágio$groupantes da compressão
Para obter detalhes, consulte Estágios de agregação com métricas de derramamento.
serverStatus Métricas
A partir do MongoDB 6.3, o comando serverStatus e o método db.serverStatus() têm estas alterações de saída:
Documento | campo(s) |
|---|---|
Novo documento | |
Adição ao documento | |
Novo documento | |
Adições ao documento | |
Adição ao documento | |
Adições ao documento |
Mensagem de registro do fluxo de trabalho da sessão
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.
Parâmetros do servidor MongoDB
A partir do MongoDB 6.3, estes parâmetros de servidor foram adicionados:
slowConnectionThresholdMillisdefine o limite de tempo para registrar o estabelecimento de conexões de servidor lentas.planCacheSizedefine o tamanho do cache do plano para o mecanismo de execução de query baseado em slot.
Parâmetros de bucketing personalizados da coleção de séries temporais
O MongoDB 6.3 adiciona os seguintes parâmetros de série temporal:
bucketMaxSpanSecondsDefine o intervalo de tempo máximo entre as medições em um bucket.bucketRoundingSecondsDefine o intervalo de tempo que determina o carimbo de data/hora inicial para um novo bucket.
compact Suporte para Coleções de séries temporais
Iniciando no MongoDB 6.3, o comando compact funciona com coleção de séries temporais.
Indexação de time-series
A partir do MongoDB 6.3, O MongoDB gera automaticamente um índice composto nos campos metaField e timeField ao criar uma coleção de séries temporais.
Alterações introduzidas no MongoDB 6.2
Validação de collection
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
checkBSONConformanceque habilita verificações BSON abrangentes.
A partir do MongoDB 8.3, o comando validate e o método db.collection.validate() verificam as coleções para garantir que uma coleção não tenha documentos que excedam 16 MB.
Comandos obsoletos
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 .
Métricas do serverStatus
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 .
Parâmetros do servidor MongoDB
A partir do MongoDB 6.2, o mongod adiciona estes parâmetros:
Fragmentação
Iniciando na versão 6.2, o MongoDB remove o campo maxSize do comando addShard. Como resultado:
Alterações introduzidas no MongoDB 6.1
$addFields e $set permitem objetos vazios como expressões
A partir do MongoDB 6.1, os estágios de agregação $addFields e $set permitem definir caminhos para objetos vazios sem usar a expressão $literal.
Auditoria
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 evento de auditoria.
Alterações na política de balanceamento
A partir do MongoDB 6.1, os dados em clusters sharded são distribuídos com base no tamanho dos dados, e não no número de partes. Como resultado, observe as seguintes mudanças significativas no comportamento de distribuição de dados em sharded cluster:
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.
moveRangesubstituiumoveChunk.
Alterações nos registros no diário
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.
currentOp Métricas
A partir do MongoDB 6.1, o comando currentOp e o método db.currentOp() expandiram 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 a função que a instância hospedar desempenha no resharding determinam quando cada métrica atualiza.
Métrica | Função rastreada | Descrição |
|---|---|---|
| Removido. | |
| Todos | Descreve a ação executada. O valor é um dos seguintes:
Para |
| Todos | Esta métrica tem um valor constante: "comando". |
| Todos | O namespace do índice refragmentado. O valor é uma string no formato: |
| Todos | Um documento que lista as opções de comando para a operação. |
| Doador | O estado atual da máquina de estado da função. |
| coordenador | O estado atual da máquina de estado da função. |
| Destinatário | O estado atual da máquina de estado da função. |
appDocumentsToCopy | Destinatário | O número de documentos na coleção de origem. |
documentsCopied | Destinatário | O número de documentos já copiados. |
appBytesToCopy | Destinatário | O tamanho total, em bytes, dos documentos na coleção 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 |
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 coleção 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 à coleção de refragmentação temporária. Cada entrada do oplog que envolve atualizar 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 aplicar 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. |
Mais eficiência para exclusões de vários documentos
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
explaindo comando contêm um novoBATCHED_DELETEestágio para exclusões de documentos em lote.
Upgrade da Biblioteca PCRE
Expressões regulares compatíveis com Perl (PCRE) é a biblioteca usada pelo MongoDB para implementar a correspondência regular de padrões de expressão . A partir da versão 6.1, o MongoDB atualiza a biblioteca PCRE para PCRE2. PCRE2 é a biblioteca PCRE atual e é mantido e atualizado ativamente.
Para aprender como realizar correspondências de regex no MongoDB, consulte as seguintes páginas:
$regex(operador de query)$regexFind( operador de agregação )$regexFindAll( operador de agregação )$regexMatch( operador de agregação )
Tratamento de erros de gravações repetíveis
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ótulo |
Trabalho parcial feito. (Pelo menos um documento é inserido, mas não todos.) | Erro retornado sem rótulo |
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.
Refragmentação
A partir do MongoDB 6.1, há novas métricas disponíveis para refragmentação. A saída dos seguintes comandos foi alterada:
Parâmetros do servidor MongoDB
A partir do MongoDB 6.1, O MongoDB adiciona os seguintes novos parâmetros:
temporarilyUnavailableBackoffBaseMsajusta o tempo entre novas tentativas após uma falha ao gravar.temporarilyUnavailableMaxRetrieslimita o número de tentativas após uma falha ao gravar.ldapRetryCountdefine o número de tentativas de operação pelo gerenciador LDAP do servidor após um erro de rede.
serverStatus Métricas
A partir do MongoDB 6.1, o comando serverStatus e o método db.serverStatus() têm estas alterações de saída:
Novas métricas
countWritesToStashCollectionsO número de gravações na coleção stash do destinatário.latenciesMétricas de tempo para operações de refragmentação.collectionCloningTotalRemoteBatchRetrievalTimeMillisTempo total gasto pelos destinatários recuperando lotes de documentos de doadores, em milissegundos.collectionCloningTotalRemoteBatchesRetrievedNúmero total de lotes de destinatários de documentos recuperados dos doadores.collectionCloningTotalLocalInsertTimeMillisTempo total que os destinatários gastaram inserindo lotes de documento de doadores, em milissegundos.collectionCloningTotalLocalInsertsNúmero total de lotes de documentos de doadores que os destinatários inseriram.oplogFetchingTotalRemoteBatchRetrievalTimeMillisTempo total que os destinatários gastaram recuperando lotes de entradas oplog de doadores, em milissegundos.oplogFetchingTotalRemoteBatchesRetrievedNúmero total de lotes de destinatários de entradas oplog recuperados dos doadores.oplogFetchingTotalLocalInsertTimeMillisTempo total que os destinatários gastaram inserindo lotes de entradas oplog de doadores, em milissegundos.oplogFetchingTotalLocalInsertsNúmero total de lotes de entradas de oplog de doadores que os destinatários inseriram.oplogApplyingTotalLocalBatchRetrievalTimeMillisTempo total que os destinatários gastaram recuperando lotes de entradas de oplog que foram inseridas durante a busca, em milissegundos.oplogApplyingTotalLocalBatchesRetrievedNúmero total de lotes de entradas de oplog que foram inseridas durante a busca dos destinatários recuperados.oplogApplyingTotalLocalBatchApplyTimeMillisTempo total que os destinatários gastaram aplicando lotes de entradas de oplog, em milissegundos.oplogApplyingTotalLocalBatchesAppliedNúmero total de lotes de entradas de oplog que os destinatários aplicaram.
Métricas substituídas
resharding.remainingOperationTimeEstimatedMillis é substituído por:
Métricas renomeadas
countReshardingSuccessfulagora écountSucceededcountReshardingFailuresagora écountFailedcountReshardingOperationsagora écountStartedcountReshardingCanceledagora écountCanceledminShardRemainingOperationTimeEstimatedMillisagora écoordinatorAllShardsLowestRemainingOperationTimeEstimatedMillismaxShardRemainingOperationTimeEstimatedMillisagora écoordinatorAllShardsHighestRemainingOperationTimeEstimatedMillisresharding.opcounters.insertagora éinsertsAppliedresharding.opcounters.updateagora éupdatesAppliedresharding.opcounters.deleteagora édeletesApplied
Métricas removidas
oplogApplierApplyBatchLatencyMilliscollClonerFillBatchForInsertLatencyMillis
Mecanismo de armazenamento
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 e temporarilyUnavailableMaxRetries.
*UCP Opção regex para corresponder caracteres não ASCII
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 opção *UCP, consulte Estender opções de Regex para corresponder caracteres fora do ASCII.
Procedimentos de atualização
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:
Se você precisar de orientação sobre a atualização para a versão 7.0, os serviços profissionais do MongoDB oferecem suporte à atualização de versões principais para ajudar a garantir uma transição tranquila e sem interrupções para seu aplicativo MongoDB. Para saber mais, consulte a página Consultoria do MongoDB.
Considerações de downgrade
Somente downgrades de versão única são suportados
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 fazer downgrade de uma série 7.0para uma série 6.0. No entanto, não há suporte para desatualização adicional dessa implantação da série 6.0para uma implantação da série 5.0.
Alterações na política de downgrade
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 o FCV de seus sistemas para ou de uma versão Rapid Release do MongoDB.
O comando
setFeatureCompatibilityVersionexige um parâmetro adicional,confirm, que deve ser definido paratruepara 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.
Funcionalidades incompatíveis com versões anteriores
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.
Download
Para baixar o MongoDB 7.0, acesse a Central de downloads do MongoDB.
Relatar um problema
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.