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 |
---|---|
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) |
Lançamentos de patches
6.0.18 – 30 de setembro de 2024
SERVIDOR-70508 Adicionar contagem de thread atual a extra_info em serverStatus no Linux
SERVIDOR-94166 Desative o mecanismo de query SBE na v6.0
SERVIDOR-94170 Reverter SERVER-91570
6.0.17 - Ago 21 de 2024
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
SERVIDOR-96254 A autopesquisa de CSFLE e Queryable Encryption pode falhar ao criptografar valores em subpipelines
SERVIDOR-85892 $merge com pipeline após $documents retornar erro
SERVIDOR-91195 Forneça uma solução backportable genérica para não perder as opções de coleção de séries temporais de nível superior
SERVER-91362 Desempenho: não copia o objeto "scope" JS se existir um JsExecution em cache
SERVIDOR-91406 $changeStreamSplitLargeEvent retorna o erro de localização7182803 quando usado com expressão de correspondência não renomeável
WT-12708 Avaliação/Revisão da travessia aleatória de despejo
6.0.16 - 28 junho, 2024
SERVIDOR-79637 Resultados de query incorretos em
$lookup
com coleção estrangeira TS usando um predicado correlacionadoSERVIDOR-86474 $_internalApplyOplogUpdate com
$set: { foo: Timestamp(0, 0) }
não é replicado corretamenteSERVER-89625 Lida com directoryPerDb e wiredTigerDirectoryForIndexes corretamente ao relatar namespaces e UUIDs durante um backup
WT-10807 Ignora páginas excluídas na memória como parte da caminhada pela árvore
WT-12609 Melhora a limpeza do checkpoint e a lógica de remoção de páginas
6.0.15 - abr 18 de 2024
SERVER-72703 fazer o downgrade do bloqueio do bd do $out para MODE_IX
SERVER-78556 Retornar o padrão de internalInsertMaxBatchSize para 64
SERVIDOR- O80363 WriteConcern padrão do servidor não é respeitado quando o wtimeout é definido
SERVER-83602 a reescrita de $or -> $in MatchExpression não deve gerar $or diretamente aninhado em outro $or
WT-11062 liberação segura do endereço de referência para permitir acesso concomitante
6.0.14 - 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 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
SERVER-82353 transações multidocumento podem perder documentos quando o movePrimary é executado simultaneamente
SERVIDOR-83119 A réplica secundária falha na coleção clusterizada se o notablescan estiver habilitado
SERVER-83145 O fragmento de buffer compartilhado rastreia incorretamente o uso de memória em freeUnused()
SERVER-83564 verificar se o campo de processo está indexado em config.locks
WT-12077 Cálculo incorreto da soma de verificação de hardware no zSeries para buffers na pilha
6.0.13 - 18 de janeiro de 2024
SERVER-33494 O WT SizeStorer nunca exclui entradas antigas
SERVER-50792 retornar erros mais úteis quando não for possível encontrar um índice de chave de fragmento para shardCollection/refineCollectionfragmentoKey
SERVER-70155 Adicionar a duração de quanto tempo um slot de oplog é mantido aberto para as linhas de log da "Query lenta" do mongod
SERVER-77506 as transação multidocumento fragmentadas podem não corresponder aos dados e à ShardVersion
SERVER-83091 $or query pode disparar um loop infinito durante a enumeração do plano
6.0.12 - 27 de novembro de 2023
SERVER-69244 $merge falha quando a preocupação de leitura padrão da sessão foi definida como "majority"
SERVER-81295 Não é possível retomar pipelines do ChangeStream V2 com tokens de recomeço V1
SERVIDOR-81966 Evite a modificação de instâncias anteriores do ChunkMap durante a atualização
WT-7929 investigar uma solução para evitar paralisações do FTDC durante o checkpoint
WT-11564 corrigir o RTS para ler o valor da transação mais recente somente quando ele existir no checkpoint
6.0.11 - 11 de outubro de 2023
SERVER-58534 Coletar fCV no FTDC
SERVER-69244 $merge falha quando a preocupação de leitura padrão da sessão foi definida como "majority"
SERVER-71520 Despejar todas as pilhas de threads no tempo limite de aquisição RSTL
SERVER-79498 Transporta de volta $vectorSearch para 6.0
SERVER-80021 fazer $convert ida e volta corretamente entre double e string
6.0.10 - 14 de setembro de 2023
SERVER-71627 As informações atualizadas da rota de coleção em cache bloqueiam severamente todas as solicitações do cliente quando um cluster contém 1 milhão de partes
SERVER-73394 Remover métricas enganosas de operationsBlockedByRefresh
SERVER-77183 $project seguido de $group às vezes apresenta resultados incorretos
SERVIDOR-79771 Faz com que as operações de refragmentação se tornem resilientes a networkInterfaceExceededTimeLimit Todas as ocorrências do Jira foram fechadas na versão 6.0.10 6.0.10
6.0.9 - Aug 14, 2023
SERVER-60466 Aceitar drivers para disseminação de $clusterTimes assinados para conjuntos de réplicas --shardsvrs antes da execução do addShard
SERVER-74954 resultado incorreto quando $or contido reescreve a condição extra $elemMatch
SERVER-79136 resultado de query incorreto de $match + $group no metaField durante séries temporais
WT-10759 não tente forçar novamente a remoção de páginas de armazenamento de histórico durante a reconciliação
WT-11064 ignorar tombstones visíveis globalmente como parte da verificação de atualização obsoleta
6.0.8 - 13 de julho de 2023
SERVER-61127 As várias gravações podem esgotar o número de tentativas de repetição na presença de migrações de partes em andamento
SERVIDOR-77005 Deixe os usuários LDAP conectados durante o tempo de inatividade do LDAP
SERVER-78126 para tipos específicos de entrada, mongo::Value() sempre faz hashes com o mesmo resultado em plataformas big-endian
6.0.7 - Jun 28, 2023
SERVER-71985 tentar inserir novamente a série temporal automaticamente em caso de erro DuplicateKey
SERVER-73007 CURL_OPT_SEEKFUNCTION não definido para autenticação multipassagem
SERVER-74551 WriteConflictException desnecessariamente registrada como aviso durante FindAndModify após a upgrade para o mongo 5.0
SERVER-77018 impasse entre dbStats e 2 compilações de índice
WT-10449 não salvar a cadeia de atualizações quando não houver atualizações a serem gravadas no armazenamento de histórico
WT-11031 corrigir RTS para ignorar tabelas sem informações de janela de tempo no checkpoint
6.0.6 - 12 de maio de 2023
SERVIDOR-51835 Mongos readPreferenceTags não estão funcionando como esperado
SERVIDOR-67105 $in queries não utilizam índice clusterizado
SERVER-72774 Um nó em modo quiesce pode vencer a eleição
SERVIDOR-74930 $avg está retornando a soma em vez da média no $group agregado
SERVER-75205 impasse entre stepdown e restauração de bloqueios após ceder quando todos os tickets de leitura se esgotarem
6.0.5 - 13 de março de 2023
Problemas corrigidos:
SERVER-61909 suspender a inserção ou exclusão de documentos com um grande número de entradas de índice
SERVER-66469 Filtrar séries temporais com campo de data não inclui resultados anteriores a 1970
SERVIDOR-68122 Investigue a replicação da string de configuração do WiredTiger da coleção durante a sincronização inicial
SERVER-70395 O Slot-Based Engine usa o disco de forma muito agressiva para o $group e fica lento
SERVER-73232 Altera o detalhamento de log padrão para
_killOperations
6.0.4 - Jan 26, 2023
Problemas corrigidos:
SERVER-72416 o código de projeção find e findAndModify não honra o agrupamento de nível da coleção
SERVIDOR-71759
dataSize
o comando não produzSERVIDOR-70237 Chunks merge commit não deve criar um objeto BSON muito grande
SERVIDOR-72222
mapReduce
com redução única a otimização falha ao mesclar resultados em um cluster fragmentadoWT-9268 atrasar a exclusão do registro de armazenamento de histórico para reconciliação
6.0.3 - 21 de novembro de 2022
Problemas corrigidos:
SERVER-66289 $out gera incorretamente um erro de tamanho BsonObj na v5.0.8
SERVER-68139 o comando Reharding falhará se a classificação de projeção for maior que 100 MB
SERVIDOR-68371 A habilitação do CSFLE em seu MongoClient faz com que o Atlas Search falhe
SERVER-68115 correção de bug para o trigger invariante "ElemMatchRootLength > 0"
SERVER-68394 Garantir que não produzimos bloqueios fortes na recuperação da inicialização quando o índice _id estiver ausente
6.0.2 - 28 de setembro de 2022
Problemas corrigidos:
SERVER-68925 Reintroduzir as configurações de registro da tabela de verificação na inicialização (reverter SERVER-43664)
SERVER-68628 repetir uma operação de refragmentação que falhou após failover primário pode causar falha no servidor ou perda de gravações
SERVER-63852 getThreadName() não pode falhar
SERVER-65317 mongod remove a conexão do pool de conexões após executar uma consulta simples $search
SERVER-63843 não permitir doLog recursivo em manipuladores de sinal síncronos
WT-9870 corrigir a atualização do carimbo de data/hora fixado sempre que o carimbo de data/hora mais antigo for atualizado durante a recuperação
6.0.1 - Aug 19, 2022
Problemas corrigidos:
SERVER-68511 atualização MovePrimary da entrada
config.databases
deve utilizar notação de campos pontilhadosSERVIDOR-68062 As agregações de vários estágios que usam $geoNear podem violar as restrições
SERVER-66072 comportamento estranho de agregação de amostragem $match e $group
SERVER-68130 O AutoSplitVector pode gerar uma resposta maior do que o BSONObjMaxUserSize
SERVIDOR-68209 Remover o uassert que impede que a entrada
config.image_collection
seja invalidada
6.0.0 - 19 de julho de 2022
O resto desta página descreve as alterações e novas funcionalidades introduzidas no MongoDB 6.0.
Agregação
Novas etapas de agregação
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 | |
Novo na versão 6.0.3: Fornece informações de tamanho e distribuição de dados em collections fragmentadas. |
Novos operadores de aggregation
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 | |
Última observação levada adiante. Define valores para | |
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 | |
Retorna os segundos de um carimbo de data/hora como |
$lookup
e $graphLookup
com collections fragmentadas
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.
Fluxos de alterações
Change Streams otimizados
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.
wallTime
Campo de saída do change stream
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.
Altere fluxos com pré e pós-imagens de documentos
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.
Eventos expandidos do change stream
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.
Filtros
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.
Administração de cluster
Cluster Server Parameters
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.
Parâmetros do pool de conexões
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.
changeStreamOptions
Cluster Parameter
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.
internalSessionsReapThreshold
Parâmetro
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.
Vários arbiters não suportados
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
.
Clustered Collections
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.
Indexes
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.
Índices Parciais
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.
Instalação
Políticas do SELinux
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
.
Conjuntos de réplicas
Vários arbiters não suportados
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
.
initialSyncMethod
Parâmetro
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.
Especifique o atraso em lote de oplog secundário
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
.
Segurança
Criptografia de registros de auditoria
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.
Fragmentação
Alterações na política de balanceamento
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
substituiumoveChunk
.
O tamanho padrão do chunk aumentou de 64 MB para 128 MB
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.
enableSharding
Não é mais necessário
A partir do MongoDB 6.0, o comando enableSharding
não é mais necessário para fragmentar uma collection.
Status de Desfragmentação do Monitor
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.
Mecanismo de execução de consulta baseado em slot
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.
O novo mecanismo de execução de queries é usado, se possível.
Se o novo mecanismo de execução de query for usado, novos campos serão incluídos na resultado do plano de explicação da query.
O mecanismo de execução de query baseado em slots pode executar $group
os $lookup
estágiose
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.
Definir tamanho do cache do plano do mecanismo de execução de query baseado 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.
Stable API
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.
Comandos de banco de dados
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 |
Estágios e operadores de aggregation
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 | 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 | V1 | |
Retorna os segundos de um carimbo de data/hora como | V1 |
Operadores de Janela
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 | |
V1 | ||
Retorna a aproximação da área abaixo de uma curva. | V1 | |
V1 | ||
Última observação levada adiante. Define valores para | 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 |
Coleções de Time Series
As seções a seguir descrevem melhorias e novos recursos para collections de séries temporais.
Coleções de séries temporais fragmentadas
O MongoDB 5.1 oferece suporte para coleções de séries temporais fragmentadas.
Consulte:
Granularidade de Séries Temporais Fragmentadas
A partir do MongoDB 6.0, você pode modificar a granularidade das coleções de séries temporais fragmentadas.
Atualizações e exclusões
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.
Compressão de coluna de série temporal
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.
Suporte para $geoNear
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.
Tipos de índice secundários adicionais
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 índices secundários de uso de operações
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.
Melhorias gerais
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. Também pode acelerar a ingestão de dados ao usar mongosync
.
Para mais informações, consulte Descartar um índice de hashed shard key.
Suporte a FIPS OpenSSL3
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
Melhorias nas capped collections
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.
numOrphanDocs
Campo adicionado ao comando collStats
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.
Excluir campos incorporados no serverStatus
resultado do
A partir do MongoDB 6.0 (e 5.0.9), Você pode excluir campos incorporados da saída serverStatus
.
Conexões
A partir do MongoDB 6.0, o objeto de conexão Mongo()
tem os seguintes novos métodos:
Mongo.getWriteConcern()
retorna a write concernMongo.setWriteConcern()
define a write concern
Suporte para geração de rastreamento de diagnóstico em arm64
A partir do MongoDB 6.0 (e 5.0.10), a geração de backtrace de diagnóstico em arm64
é permitda.
Configurar intervalo de atualização para informações do usuário LDAP em cache
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
:
Se verdadeiro, utilize
ldapUserCacheRefreshInterval
.Se falso, utilize
ldapUserCacheInvalidationInterval
.
Alterações que afetam a compatibilidade
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.
Procedimentos de atualização
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.
Consideração de rebaixamento
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.
Download
Para baixar o MongoDB 6.0, acesse a Central de downloads do MongoDB.
Problemas conhecidos
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. |
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.