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

Notas de versão para MongoDB 6.0

Nesta página

  • Lançamentos de patches
  • Agregação
  • Fluxos de alterações
  • Administração de cluster
  • Clustered Collections
  • Indexes
  • Instalação
  • Conjuntos de réplicas
  • Segurança
  • Fragmentação
  • Mecanismo de execução de consulta baseado em slot
  • Stable API
  • Coleções de Time Series
  • Melhorias gerais
  • Alterações que afetam a compatibilidade
  • Procedimentos de atualização
  • Consideração de rebaixamento
  • Download
  • Problemas conhecidos
  • Relatar um problema

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

O MongoDB 6.0 é uma versão principal, o que significa que é compatível com os sistemas do MongoDB Atlas e on-premises. O MongoDB 6.0 inclui alterações introduzidas no MongoDB Rapid Releases 5.1, 5.2 e 5.3. Esta página descreve as alterações introduzidas nessas Rapid Releases as e no MongoDB 6.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
SERVIDOR-68511
6.0.0
6.0.0 - 6.0.12
6.0.0 - 6.0.11 (Coleção de séries temporais fragmentadas por objetos embarcados metaField)
6.0.0 - 6.0.13
6.0.0 - 6.0.4 (arquiteturas de sistema ARM64 ou POWER)
6.0.0 - 6.0.5 (Backups incrementais no Ops Manager ou clusters do Cloud Manager)

Importante

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

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

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

  • 7.3.0 - 7.3.3

  • 7.0.0 - 7.0.11

  • 6.0.0 - 6.0.16

  • 5.0.0 - 5.0.28

Pontuação CVSS: 2.2

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

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 6.0 antes de 6.0.14, 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:

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

O MongoDB 6.0 introduz os seguintes estágios de aggregation:

Estágio
Descrição
Cria novos documentos em uma sequência de documentos onde faltam valores em um campo especificado.
Retorna documentos literais de expressões de entrada.

Preenche null e os valores de campo ausentes nos documentos.

Novo na versão 6.0.3: Fornece informações de tamanho e distribuição de dados em collections fragmentadas.

O MongoDB 6.0 introduz os seguintes operadores de aggregation:

Operador
Descrição
Retorna o elemento inferior de um grupo de acordo com a ordem de classificação especificada.
Retorna uma aggregation dos elementos n menos importantes dentro de um grupo, de acordo com a ordem de classificação especificada.
Retorna uma aggregation dos primeiros n elementos dentro de um grupo. Distinto do operador de array $firstN.
Retorna um número especificado de elementos desde o início de uma array. Diferente do accumulator $firstN.
Retorna uma aggregation dos últimos n elementos dentro de um grupo. Distinto do operador de array $lastN.
Retorna um número especificado de elementos do final de uma matriz. Distinto do acumulador $lastN .

Preenche null e campos ausentes em uma janela usando interpolação linear com base nos valores do campo circundante.

Última observação levada adiante. Define valores para null e campos ausentes em uma janela para o último valor não nulo do campo.

Retorna uma aggregation dos n elementos com valor máximo em um grupo. Diferente do operador de array $maxN.
Retorna os maiores valores de n em uma array. Distinto do acumulador $maxN.
Retorna uma aggregation dos n elementos com valor mínimo em um grupo. Distinto do operador de array $minN.
Retorna os menores valores de n em uma array. Distinto do accumulator $minN.
Classifica um array com base em seus elementos.
Retorna o principal elemento de um grupo de acordo com a ordem de classificação especificada. Diferente do comando top.
Retorna uma aggregation dos principais elementos n dentro de um grupo, de acordo com a ordem de classificação especificada.

Retorna o ordinal incrementado de um carimbo de data/hora como long.

Retorna os segundos de um carimbo de data/hora como long.

A partir do MongoDB 5.1, os estágios de aggregation $lookup e $graphLookup suportam collections fragmentadas no parâmetro from.

Nas versões anteriores do MongoDB, $lookup e $graphLookup só permitiam collections from não fragmentadas.

Você não pode usar a etapa $graphLookup dentro de uma transação enquanto segmenta uma coleção fragmentada.

A partir do MongoDB 5.1, os change streams são otimizados, proporcionando uma utilização mais eficiente dos recursos e uma execução mais rápida de alguns aggregation pipeline stages.

A partir do MongoDB 6.0, a saída de change streams tem um novo campo wallTime que contém a data e a hora do servidor da operação do banco de dados.

A partir do MongoDB 6.0, você pode usar fluxos de mudança para gerar a versão de um documento antes e depois das alterações (as pré e pós-imagens do documento). Por exemplo, consulte Change Streams com pré e pós-imagens de documentos.

A partir do MongoDB 6.0, os change streams podem mostrar eventos de mudança adicionais para operações DDL, como criar índices e descartar collections.

Para obter mais informações, consulte Eventos expandidos.

A partir do MongoDB 6.0, sempre que possível, os filtros de correspondência são aplicados aos change streams mais cedo do que em versões anteriores. Isso melhora o desempenho. No entanto, quando um filtro for muito restritivo, uma correspondência anterior pode fazer com que uma operação bem-sucedida em versões anteriores falhe na versão 6.0.

A partir do MongoDB 6.0, você pode usar parâmetros de cluster para uma implantação autogerenciada para modificar e recuperar opções de configuração para todos os nós em um conjunto de réplicas ou cluster fragmentado. Você pode usar setClusterParameter para modificar as opções de todo o cluster e getClusterParameter para recuperar o valor de um parâmetro do cluster.

A partir do MongoDB 6.0, você pode usar ShardingTaskExecutorPoolMinSizeForConfigServers e ShardingTaskExecutorPoolMaxSizeForConfigServers para definir o tamanho mínimo e máximo do pool de conexões TaskExecutor de fragmentação para servidores de configuração.

A partir do MongoDB 6.0, você pode usar changeStreamOptions para controlar a política de retenção de imagens antes e depois do change stream.

A partir do MongoDB 6.0, você pode usar o novo parâmetro internalSessionsReapThreshold para definir o limite de sessão para a exclusão de metadados de sessão interna.

A partir do MongoDB 5.3, o suporte para vários arbiters em um conjunto de réplicas está desabilitado por padrão. Para habilitar o suporte para vários árbitros, inicie cada nó com o parâmetro allowMultipleArbiters.

A partir do MongoDB 5.3, você pode criar coleções agrupadas.

As coleções agrupadas armazenam documentos indexados no mesmo arquivo WiredTiger que a especificação do índice. O armazenamento dos documentos e do índice da coleção no mesmo arquivo oferece benefícios de armazenamento e desempenho em comparação com os índices regulares.

Coleções clusterizadas são criadas com um índice clusterizado. O índice clusterizado especifica a ordem em que os documentos são armazenados.

Para criar uma collection clusterizada, consulte Exemplos.

Para saber mais sobre os benefícios em comparação com uma collection normal, consulte Coleções Clusterizadas.

A partir do MongoDB 5.1, você pode usar o comando de banco de dados collMod para adicionar a opção expireAfterSeconds a um índice não TTL de campo único existente.

Iniciando no MongoDB 6.0, você pode utilizar as opções prepareUnique e unique para o comando collMod para converter um índice padrão existente em um índice único.

A partir do MongoDB 6.0, você pode usar os operadores $in e $or para criar índices parciais. A profundidade máxima do partialFilterExpression também foi ampliada de 2 para 4. Agora você pode usar os operadores $and e $or em níveis não principais.

A partir do MongoDB 5.1, há uma nova política SE Linux para:

  • Servidor MongoDB Enterprise

  • Servidor do MongoDB Community Edition

em execução no Red Hat Linux. A política SELinux deve ser usada com instalações padrão usando pacotes de instalação rpm.

A partir do MongoDB 5.3, o suporte para vários arbiters em um conjunto de réplicas está desabilitado por padrão. Para habilitar o suporte para vários árbitros, inicie cada nó com o parâmetro allowMultipleArbiters.

A partir do MongoDB 5.2, initialSyncMethod determina se a initial sync é uma initial sync lógica ou uma initial sync baseada em cópia de arquivo.

initialSyncMethod está disponível apenas no servidor do MongoDB Enterprise.

A partir do MongoDB 6.0, você pode usar o parâmetro de servidor oplogBatchDelayMillis para especificar um atraso para gravações de lotes de oplog em secundários. A adição de um pequeno atraso no lote de oplog pode reduzir IOPS nos secundários, mas adiciona latência para gravações com write concern "majority".

Para mais informações, consulte oplogBatchDelayMillis.

A partir do MongoDB 6.0 Enterprise, você pode criptografar o registro de auditorias do MongoDB.

Para configurar o registro de auditoria, consulte Registro de auditoria.

A partir do MongoDB 6.0.3, os dados em clusters fragmentados são distribuídos com base no tamanho dos dados, e não no número de partes. Esteja ciente das seguintes alterações significativas no comportamento de distribuição de dados do 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 5.2, o tamanho padrão do chunk é de 128 megabytes. Nas versões anteriores do MongoDB, o tamanho padrão do chunk é de 64 megabytes.

A partir do MongoDB 6.0, o comando enableSharding não é mais necessário para fragmentar uma collection.

A partir do MongoDB 5.3, o comando balancerCollectionStatus retorna informações detalhadas quando executado em um namespace que está passando por desfragmentação de blocos. O resultado inclui a fase atual da desfragmentação e quantos chunks faltam processar.

Para ver um exemplo de saída, consulte Processo de desfragmentação contínuo.

A partir do MongoDB 5.1, o MongoDB usa um novo mecanismo de execução de query para queries elegíveis, chamado de mecanismo de execução de query baseado em slot. Se o mecanismo de execução de query baseado em slot for usado, novos campos serão incluídos no resultado do plano de explicação da query.

A partir da versão 6.0, o MongoDB usa o mecanismo de execução de query baseado em slot para executar os estágios qualificados $group e $lookup quando determinadas condições são atendidas.

Para obter mais informações, consulte Otimizações de pipeline do mecanismo de execução de query baseada em slot.

Você pode definir o tamanho do cache do plano para o novo mecanismo de query com o planCacheSize parâmetro.

Aumentar o tamanho do cache do plano adiciona mais formas de query em cache para o planejador de query. Isso pode melhorar o desempenho da query, mas aumenta o uso da memória.

As seções a seguir descrevem as adições à Stable APl introduzidas no MongoDB 6.0.

Para ver a lista completa de comandos de banco de dados disponíveis na API estável, consulte o registro de alterações da API estável.

A partir do MongoDB 6.0, os seguintes comandos de banco de dados são compatíveis com a API estável:

Comando
Descrição
Versão estável da API
Conta o número de documentos em uma collection ou visualização. (Também disponível na API estável para sistemas série 5.0 a partir do MongoDB 5.0.9.)
V1

A partir do MongoDB 6.0, os seguintes estágios de aggregation e operadores são suportados na API Estável:

Estágio ou operador
Descrição
Versão estável da API
Retorna o elemento inferior de um grupo, de acordo com a ordem de classificação especificada.
V1
Retorna uma aggregation dos elementos n menos importantes dentro de um grupo, de acordo com a ordem de classificação especificada.
V1
Aumenta um objeto Date() por um número específico de unidades de tempo.
V1
Retorna a diferença entre duas datas.
V1
Reduz um objeto Date() por um número específico de unidades de tempo.
V1
Trunca uma data.
V1

Cria novos documentos em uma sequência de documentos onde determinados valores em um campo estão faltando.

V1
$firstN (acúmulo de agregação)
Retorna uma aggregation dos primeiros n elementos dentro de um grupo.
V1
$firstN (operador de array)
Retorna um número especificado de elementos desde o início de uma matriz.
V1
Retorna o valor de um campo especificado de um documento.
V1
$lastN (acúmulo de agregação)
Retorna uma aggregation dos últimos n elementos dentro de um grupo.
V1
$lastN (operador de array)
Retorna um número especificado de elementos do final de uma matriz.
V1

Última observação levada adiante. Define valores para null e campos ausentes em uma janela para o último valor não nulo do campo.

V1
$maxN (acúmulo de agregação)
Retorna uma aggregation do valor máximo de n elementos dentro de um grupo.
V1
$maxN (operador de array)
Retorna os maiores valores de n em uma array.
V1
$minN (acúmulo de agregação)
Retorna uma aggregation do valor mínimo de n elementos dentro de um grupo.
V1
$minN (operador de array)
Retorna os menores valores de n em uma array.
V1
Adiciona, atualiza ou remove um campo especificado em um documento.
V1
Executa operações em um intervalo especificado de documentos em uma collection, conhecido como janela, e retorna os resultados com base no operador de janela escolhido.
V1
Classifica um array com base em seus elementos.
V1
Retorna o principal elemento de um grupo de acordo com a ordem de classificação especificada.
V1
Retorna uma aggregation dos principais elementos n dentro de um grupo, de acordo com a ordem de classificação especificada.
V1

Retorna o ordinal incrementado de um carimbo de data/hora como long.

V1

Retorna os segundos de um carimbo de data/hora como long.

V1

A partir do MongoDB 6.0, os seguintes operadores de janela são suportados na API Stable:

Operador de Janela
Descrição
Versão estável da API
Retorna uma array de todos os valores únicos que resultam da aplicação de uma expressão a cada documento.
V1
Retorna a média da expressão especificada. Ignora valores não numéricos.
V1
Retorna o número de documentos no grupo ou janela.
V1
Retorna a covariância populacional de duas expressões numéricas.
V1
Retorna a covariância de amostra de duas expressões numéricas.
V1
Retorna a posição do documento (conhecida como classificação) relativa a outros documentos na $setWindowFields partição de estágio. Não há lacunas nas classificações. Os empates recebem a mesma classificação.
V1
Retorna a taxa média de alteração dentro da janela especificada.
V1
Retorna a posição de um documento (conhecido como o número do documento) na partição de estágio $setWindowFields . Vínculos resultam em diferentes números de documentos adjacentes.
V1
Retorna a média móvel exponencial da expressão numérica.
V1
Retorna o valor resultante da aplicação de uma expressão ao primeiro documento em um grupo ou janela.
V1
Retorna a aproximação da área abaixo de uma curva.
V1
Retorna o valor que resulta da aplicação de uma expressão ao último documento em um grupo ou janela.
V1

Última observação levada adiante. Define valores para null e campos ausentes em uma janela para o último valor não nulo do campo.

V1
Retorna o valor máximo resultante da aplicação de uma expressão a cada documento.
V1
Retorna o valor mínimo que resulta da aplicação de uma expressão a cada documento.
V1
Retorna uma array de valores que resultam da aplicação de uma expressão a cada documento.
V1
Retorna a posição do documento (conhecida como classificação) em relação a outros documentos na partição $setWindowFields de estágio .
V1
Retorna o valor de uma expressão aplicada a um documento em uma posição especificada em relação ao documento atual na $setWindowFields partição de estágio .
V1
Retorna o desvio padrão da população a partir de uma expressão numérica aplicada a cada documento.
V1
Retorna o desvio padrão da amostra a partir de uma expressão numérica aplicada a cada documento.
V1
Retorna a soma dos resultados ao aplicar uma expressão numérica a cada documento.
V1

As seções a seguir descrevem melhorias e novos recursos para collections de séries temporais.

O MongoDB 5.1 oferece suporte para coleções de séries temporais fragmentadas.

Consulte:

A partir do MongoDB 6.0, você pode modificar a granularidade das coleções de séries temporais fragmentadas.

A partir do MongoDB 5.1, as coleções de séries temporais oferecem suporte a operações de atualização e exclusão com limitações.

A partir do MongoDB 5.2, as coleções de séries temporais usam compressão de coluna. A compactação de colunas adiciona várias inovações que funcionam juntas para melhorar significativamente a compactação prática, reduzir o armazenamento geral de seus dados em disco e melhorar o desempenho de leitura.

A partir do MongoDB 6.0, os arrays também são compactados como parte da compactação de colunas de série temporal.

A partir do MongoDB 5.3, você pode usar o operador de pipeline $geoNear em qualquer campo em uma coleção de séries temporais.

Você pode adicionar outros tipos de índice secundário às coleções de séries temporais, incluindo índices 2dsphere e 2d.

Para obter todos os índices adicionais e outros aprimoramentos, consulte Índices secundários de série temporal no MongoDB 6.0 e posterior.

Classificar operações em collections de séries temporais pode usar índices para melhorar o desempenho. Para obter mais informações e um exemplo, consulte Usar índices secundários para melhorar o desempenho de classificação.

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. Também pode acelerar a ingestão de dados ao usar mongosync.

Para mais informações, consulte Descartar um índice de hashed shard key.

A partir do MongoDB 6.0.7, O modo FIPS é compatível com OpenSSL3 para os seguintes sistemas operacionais:

  • Ubuntu 22.04

  • RHEL 9

  • Amazon Linux 2023

A partir do MongoDB 6.0, você pode alterar o tamanho máximo de uma capped collection, em bytes ou em número de documentos, usando o comando collMod. Consulte Redimensionar uma capped collection para obter mais detalhes.

A partir do MongoDB 6.0, a saída collStats inclui o campo collStats.numOrphanDocs que mostra o número de documentos órfãos na collection.

A partir do MongoDB 6.0 (e 5.0.9), Você pode excluir campos incorporados da saída serverStatus.

A partir do MongoDB 6.0, o objeto de conexão Mongo() tem os seguintes novos métodos:

A partir do MongoDB 6.0 (e 5.0.10), a geração de backtrace de diagnóstico em arm64 é permitda.

A partir do MongoDB 5.2, você pode usar os seguintes novos parâmetros de servidor para configurar o intervalo de atualização para informações do usuário LDAP armazenadas em cache:

A partir do MongoDB 5.2, a frequência de atualização do cache com informações do usuário obtidas de um servidor LDAP é determinada pelo parâmetro ldapShouldRefreshUserCacheEntries:

Algumas alterações podem afetar a compatibilidade e podem exigir ações do usuário. Para obter uma lista detalhada das mudanças de compatibilidade, consulte Alterações de compatibilidade no MongoDB 6.0.

Importante

Versão de compatibilidade de recursos

Para atualizar para o MongoDB 6.0 a partir de uma versão 5.0, a versão 5.0 deve ter featureCompatibilityVersion definida como 5.0. Para verificar a versão:

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

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

Caso você precise de orientação ao atualizar para a versão 6.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 6.0 para série 5.0. No entanto, desatualizar ainda mais o sistema série 5.0 para um sistema série 4.4 não é possível.

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

Esta seção descreve os problemas conhecidos no MongoDB 6.0 e seu status de resolução.

Na versão
Emitir
Status
6.0.0
SERVIDOR-68062: Agregações de vários estágios que usam $geoNear podem violar restrições.
Resolvido na versão 6.0.1.

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