Esta página describe los cambios y las nuevas funcionalidades introducidas en MongoDB 6.0.
MongoDB 6.0 es una versión importante, lo que significa que es compatible tanto con MongoDB Atlas como con las implementaciones on-premises. MongoDB 6.0 incluye los cambios introducidos en las versiones de lanzamiento rápido de MongoDB 5.1, 5.2 y 5.3. Esta página describe los cambios introducidos en esas versiones rápidas y en MongoDB 6.0.
Para aprender más sobre las diferencias entre las versiones principales y rápidas, consulte Versionado de MongoDB.
Advertencia
Limitaciones de versiones pasadas
Los avisos críticos a continuación afectan a algunas versiones anteriores de MongoDB. Si la implementación depende de características afectadas por un aviso crítico, se debe actualizar a la última versión disponible del parche.
Problema | Versiones afectadas |
|---|---|
6.0.0 | |
6.0.0 - 6.0.12 | |
6.0.0 - 6.0.11 (Colecciones de series temporales fragmentadas por objetos incrustados de metaField) | |
6.0.0 - 6.0.13 | |
6.0.0 - 6.0.4 (arquitecturas de sistemas ARM64 o POWER) | |
6.0.0 - 6.0.5 (copias de seguridad incrementales en clústeres de Ops Manager o Cloud Manager) | |
6.0.0 - 6.0.16 | |
6.0.0 - 6.0.14 |
Versiones de parches
6.0.28 - 12 de mayo de 2026
Importante
MongoDB 6.0.28 contiene una solución para CVE-2026-8053.
Para obtener la información más reciente sobre las actualizaciones de seguridad de MongoDB, consulte Boletines de seguridad de MongoDB.
Problemas corregidos:
SERVER-126021 Comportamiento indefinido al insertar datos con nombres de campo duplicados en colecciones de series temporales.
6.0.27 - 19 de diciembre de 2025
Importante
MongoDB 6.0.27 contiene una solución para CVE-2025-14847.
Para obtener la información más reciente sobre las actualizaciones de seguridad de MongoDB, consulte Boletines de seguridad de MongoDB.
Problemas corregidos:
SERVIDOR-115508: Crea buffers de tamaño mínimo para Mensajes sin comprimir
6.0.26 - Aug 15, 2025
Problemas corregidos:
SERVIDOR-109268: El modo FIPS puede permitir el uso de algoritmos criptográficos de proveedores que no cumplen con FIPS con OpenSSL 3
6.0.25 - 17 de julio de 2025
Problemas corregidos:
SERVIDOR-83221: La colección con índice clusterizado listIndexes debe mostrar TTL
SERVER-92411: Verificar que todas las etapas de agregación de origen de documentos tengan comprobaciones de autenticación.
SERVER-95523: la inserción no gestiona correctamente el reintento de DuplicateKey
SERVER-95524: Evita reintentar en caso de error de clave duplicada para inserciones en transacciones de múltiples documentos
SERVER-95672 Los índices en campos de arreglo que contienen subarreglos no incluyen algunos resultados.
6.0.24 - Jun 04, 2025
SERVIDOR-82037: La memoria utilizada por los desbordamientos del clasificador puede crecer sin límites
SERVIDOR-88400: la etapa de agregación shardedDataDistribution no debe devolver campos nulos para timeseries
SERVER-92806: La entrada de caché del plan ignora la intercalación del índice con $elemMatch
SERVIDOR-95976: Presentar el parámetro "matchCollectionUUIDForUpdateLookup" en la etapa de flujo de cambios
WT-13283 Corrige el modo agresivo de caché para que no muestre el valor basura.
6.0.23 - Apr 29, 2025
Importante
La corrección para el manejo incorrecto de datos incompletos puede impedir que mongos acepte nuevas conexiones
Debido a CVE-2025-6714, en MongoDB 6.0 antes de 6.0.23, MongoDB Server mongos el componente puede dejar de responder a nuevas conexiones debido a una gestión incorrecta de los datos incompletos. Este problema afecta a los clústeres sharded de MongoDB que están configurados con soporte de balanceador de carga para mongos usando HAProxy en puertos especificados.
Este problema afecta a las siguientes versiones de MongoDB Server:
8.0.0 - 8.0.8
7.0.0 - 7.0.19
6.0.0 - 6.0.22
Puntuación CVSS: 7.5
CWE: CWE-834 Iteración excesiva Y CWE-400 Consumo incontrolado de recursos
Problemas corregidos:
SERVER-93120 Colección de FTDC bloqueada en el estado de lectura de backupCursor bloqueado.
SERVER-106753: Un manejo incorrecto de datos incompletos puede impedir que
mongosacepte nuevas conexiones
6.0.22 - Apr 14, 2025
Importante
MongoDB Server puede ser susceptible a la escalada de privilegios debido a la etapa $mergeCursors
Debido al CVE-2025-6713, en MongoDB 6.0 anterior a la 6.0.22, un usuario no autorizado puede aprovechar un pipeline de agregación especialmente diseñado para acceder a datos sin la debida autorización debido a un manejo inadecuado de la etapa $mergeCursors en MongoDB Server. Esto puede conducir al acceso a datos sin la debida autorización adicional.
Este problema afecta a las siguientes versiones de MongoDB Server:
8.0.0 - 8.0.6
7.0.0 - 7.0.18
6.0.0 - 6.0.21
Puntuación CVSS: 7.7
CWE: CWE-285: Autorización inadecuada
Problemas corregidos:
SERVER-106752 MongoDB Server puede ser susceptible a la escalada de privilegios debido a la etapa
$mergeCursors
6.0.21 - 17 de marzo de 2025
Importante
Vulnerabilidad en la autenticación previa de denegación de servicio en la autenticación OIDC de MongoDB Server
Debido a CVE-2025-6709, en MongoDB 6.0 anterior a la versión 6.0.21, MongoDB Server es susceptible a una vulnerabilidad de denegación de servicio debido al manejo inadecuado de valores de fecha específicos en la entrada JSON al utilizar la autenticación OIDC. Esto se puede reproducir usando el shell de Mongo para enviar una carga útil JSON maliciosa que genera una falla invariante y la caída del servidor.
Este problema afecta a las siguientes versiones de MongoDB Server:
8.0.0 - 8.0.4
7.0.0 - 7.0.16
El mismo problema afecta a MongoDB Server v6.0, pero un atacante solo puede inducir una denegación de servicio después de autenticarse. Este problema afecta a las siguientes versiones de MongoDB Server:
6.0.0 - 6.0.20
Puntuación CVSS: 7.5
CWE: CWE-20: Validación incorrecta de entrada
Importante
Vulnerabilidad de Stack Overflow de denegación de servicio antes de la autenticación en el análisis de JSON mediante recursión excesiva en MongoDB
Debido a CVE-2025-6710, en MongoDB 6.0 anterior a la versión 6.0.21, MongoDB Server puede ser susceptible a un stack overflow debido al mecanismo de análisis de JSON, donde entradas JSON específicamente diseñadas pueden inducir niveles de recursión no deseados, y resultar en un consumo excesivo de espacio en la pila. Dichas entradas pueden provocar un stack overflow que cause el bloqueo del servidor, lo cual podría ocurrir antes de la autorización.
Este problema afecta a las siguientes versiones de MongoDB Server:
8.0.0 - 8.0.4
7.0.0 - 7.0.16
El mismo problema afecta a MongoDB Server v6.0, pero un atacante solo puede inducir una denegación de servicio después de autenticarse. Este problema afecta a las siguientes versiones de MongoDB Server:
6.0.0 - 6.0.20
Puntuación CVSS: 7.5
CWE: CWE-674: Recursividad no controlada
Problemas corregidos:
SERVIDOR-94405 Volver a activar la división automática en la colección de sesiones al degradar a compatibilidad de características entre versiones 5.0.
SERVER-96252 setOrphanCountersOnRangeDeletionTasks fallará si falta el índice de clave de partición
SERVER-98720 Añadir llamadas a redact() faltantes a los registros de advertencias de “error del ejecutor de plan”.
SERVER-100594 Reducir el máximo de profundidad de fromjson de 250 a 200
SERVIDOR-101298 Opta por no utilizar el bloqueo PBWM antes de obtener el bloqueo global en compact
SERVER-106748 Denegación de servicio previa a la autenticación al aceptar la autenticación OIDC
SERVER-106749 Vulnerabilidad de denegación de servicio por Stack Overflow previa a la autenticación en el análisis de JSON mediante recursión excesiva en MongoDB
6.0.20 - Jan 15, 2025
SERVIDOR-93205 Exponer el número de índices prepareUnique en serverStatus
SERVIDOR-94144 $documents dentro de $lookup falló al analizarse con QueryStats
SERVIDOR-94592 Comprueba los argumentos internos para explicar
SERVIDOR-94635 Hace que los parámetros de actualización de la sesión sean configurables
SERVER-95445 SSLManagerOpenSSL debe validar toda la cadena de certificados contra la CRL, no solo el certificado hoja
6.0.19 - 24 de octubre de 2024
Importante
La neutralización inadecuada de bytes nulos puede llevar a sobrelecturas de búfer en MongoDB Server.
En MongoDB 6.0 y 6.0.19, un usuario autorizado puede activar fallos o recibir el contenido de sobrelecturas de búfer de la memoria del servidor al emitir solicitudes especialmente diseñadas que construyan BSON malformados en MongoDB Server.
Este problema afecta a las versiones de MongoDB Server:
5.0.0 - 5.0.29
6.0.0 - 6.0.18
7.0.0 - 7.0.14
8.0.0 - 8.0.2
SERVER-96419 La neutralización incorrecta de bytes nulos puede llevar a sobrelecturas del búfer en MongoDB Server
6.0.18 - 30 de septiembre de 2024
SERVIDOR-70508 Añadir la cantidad actual de subprocesos a extra_info en serverStatus en Linux
SERVIDOR-94166 Deshabilitar el motor de query SBE en v6.0
SERVIDOR-94170 Revertir SERVIDOR-91570
6.0.17 - Aug 21, 2024
Importante
Corrección para CSFLE y Queryable Encryption: la autoconsulta puede enviar valores en subpipelines como texto sin formato en lugar de texto cifrado.
Debido a la CVE-2024-8013, en MongoDB 6.0 anterior a 6.0.16, un error en el análisis de query de ciertas subpipelines complejas autorreferenciales $lookup puede resultar en que los valores literales en las expresiones para los campos cifrados se envíen al servidor de forma incorrecta.
Si esto ocurre, no se devolverán ni se escribirán documentos. Este problema afecta al binario mongocryptd y a la biblioteca compartida mongo_crypt_v1 en las siguientes versiones de 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
Puntuación CVSS: 2.2
CWE: CWE-319: Transmisión de información confidencial en texto no cifrado
SERVER-96254 La autobúsqueda de CSFLE y Queryable Encryption puede fallar al cifrar valores en subpipelines.
SERVER-85892 $merge con el pipeline después de que $documents devuelva un error.
SERVER-91195 Proporcionar una solución genérica adaptable para no perder las opciones de colección de series temporales de nivel superior.
SERVER-91362 Rendimiento: no copiar el objeto "scope" de JS si existe un JsExecution en caché.
SERVIDOR-91406 $changeStreamSplitLargeEvent devuelve un error ubicación7182803 al utilizarse con una expresión de coincidencia no renombrable
WT-12708 Evaluación/revisión del recorrido aleatorio de desalojo
6.0.16 - Jun 28, 2024
SERVIDOR-79637 Resultados incorrectos de la query en
$lookupcon colección externa TS utilizando un predicado correlacionadoSERVIDOR-86474 $_internalApplyOplogUpdate con
$set: { foo: Timestamp(0, 0) }no se replica correctamenteSERVER-89625 Gestionar directoryPerDb y wiredTigerDirectoryForIndexes correctamente al informar sobre namespaces y UUID durante una copia de seguridad.
WT-10807 Omitir las páginas borradas en memoria como parte del recorrido del árbol.
WT-12609 Mejore la limpieza de los puntos de control y la lógica de desalojo de páginas
6.0.15 - Apr 18, 2024
SERVER-72703 Degradar el bloqueo de la base de datos de $out a MODO_IX.
SERVER-78556 Devolver el valor por defecto de internalInsertMaxBatchSize a 64.
SERVER-80363 El valor por defecto de writeConcern del servidor no se respeta cuando se establece wtimeout.
SERVER-83602 $or -> $in MatchExpression rewrite should not generate $or directly nested in another $or
WT-11062 Libere de forma segura la dirección de referencia para permitir el acceso concurrente.
6.0.14 - Feb 28, 2024
Importante
La corrección para MongoDB Server podría permitir una conexión no confiable exitosa
Debido a CVE-2024-1351, en MongoDB 6.0 anterior a 6.0.14, bajo ciertas configuraciones de --tlsCAFile y CAFile, MongoDB Server puede omitir la validación del certificado de igual, lo que puede dar como resultado que las conexiones no confiables se realicen con éxito.
Esto puede reducir de manera efectiva las garantías de seguridad proporcionadas por TLS y abrir conexiones que deberían haberse cerrado debido a la falla en la validación del certificado. Este problema afecta a las siguientes versiones de 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
Puntuación CVSS: 8.8
CWE: CWE-295: validación incorrecta del certificado
SERVER-82353 La transacción multi-documento puede perder documentos cuando movePrimary se ejecuta simultáneamente.
SERVER-83119 Una réplica secundaria se bloquea en una colección con índice clusterizado si se habilita notablescan
SERVER-83145 El fragmento de búfer compartido rastrea incorrectamente el uso de la memoria en freeUnused()
SERVIDOR-83564 Asegurarse de que el campo de proceso esté indexado en config.locks.
WT-12077 Cálculo incorrecto de la suma de verificación del hardware en zSeries para búferes en la pila
6.0.13 - Jan 18, 2024
SERVER-33494 WT SizeStorer nunca borra entradas antiguas.
SERVIDOR-50792 Devolver errores más útiles cuando no se pueda encontrar un índice de clave de partición para shardCollection/refineCollectionShardKey
SERVIDOR-70155 Agregar la información sobre la duración de tiempo que un slot de oplog permanece abierto en las líneas de registros "Slow query" de mongod.
SERVER-77506 Las transacciones multi-documento particionadas pueden no coincidir con los datos y ShardVersion.
SERVER-83091 El query $or puede activar un bucle infinito durante la enumeración del plan.
6.0.12 - 27 de noviembre de 2023
SERVER-69244 $merge falla cuando el nivel de consistencia de lectura por defecto de la sesión se establece en “mayoría”.
SERVIDOR-81295 No se puede reanudar las pipelines changeStream de la V2 con tokens de reanudación V1
SERVER-81966 Evitar la modificación de instancias anteriores de ChunkMap durante la actualización.
WT-7929 Investigar una solución para evitar bloqueos del FTDC durante el punto de control.
WT-11564 Corrija RTS para leer el valor de transacción más reciente solo cuando exista en el punto de control
6.0.11 - 11 de octubre de 2023
SERVIDOR-58534 Recopilar compatibilidad de características entre versiones en FTDC
SERVER-69244 $merge falla cuando el nivel de consistencia de lectura por defecto de la sesión se establece en “mayoría”.
SERVER-71520 Vaciado de todas las pilas de hilos al agotar el tiempo de espera de adquisición de RSTL
SERVIDOR-79498 Backporta $vectorSearch a 6.0
SERVIDOR-80021 Realizar la conversión $convert correctamente entre double y string
6.0.10 - 14 de septiembre de 2023
SERVIDOR-71627 Se actualizó la información en caché de la ruta de colección que bloquea severamente todas las solicitudes de clientes cuando un clúster contiene 1 millones de fragmentos
SERVER-73394 Remover métricas engañosas de operaciones bloqueadas por actualización
SERVER-77183 $project seguido de $group a veces da resultados incorrectos.
SERVER-79771 Hacer que las operaciones de resharding sean resistentes a networkInterfaceExceededTimeLimit Todos los asuntos de Jira cerrados en 6.0.10
6.0.9 - Aug 14, 2023
SERVIDOR-60466 Los drivers de soporte "gossiping" firmados $clusterTimes a set de réplicas --shardsvrs antes de que se ejecute addShard
SERVER-74954 Resultado incorrecto cuando $or contiene o reescribe la condición extra de $elemMatch.
SERVER-79136 Resultado incorrecto de query de $match + $group en metaField sobre serie de tiempo.
WT-10759 No vuelva a intentar forzar la expulsión de páginas del historial durante la reconciliación
WT-11064 Sáltese las lápidas globalmente visibles como parte de la verificación de obsolescencia de actualización
6.0.8 - 13 de julio de 2023
SERVER-61127 Los multi-guardados pueden agotar el número de intentos de reintento en presencia de migraciones de fragmentos en curso
SERVER-77005 Mantener a los usuarios LDAP con la sesión iniciada durante el tiempo de inactividad de LDAP
SERVIDOR-78126 Para tipos específicos de entrada, mongo::Value() siempre genera el mismo valor hash en plataformas big-endian
6.0.7 - Jun 28, 2023
SERVIDOR-71985 Reintente automáticamente la inserción de serie de tiempo en caso de error DuplicateKey
SERVIDOR-73007 CURL_OPT_SEEKFUNCTION no está configurado para autenticación multipaso
SERVIDOR-74551 WriteConflictException innecesariamente registrado como advertencia durante findAndModify después de la actualización a mongo 5.0.
SERVIDOR-77018 Interbloqueo entre dbStats y creación de índices 2
WT-10449 No guardar la cadena de actualizaciones cuando no haya actualizaciones que deban almacenarse en el historial
WT-11031 Corregir RTS para saltarse tablas sin información de ventana de tiempo en el punto de control.
6.0.6 - 12 de mayo de 2023
SERVIDOR-51835 Las etiquetas readPreferenceTags de Mongos no funcionan como se esperaba
SERVIDOR-67105 $in las consultas no utilizan un índice agrupado
SERVIDOR-72774 Un nodo en modo de reposo puede ganar las elecciones.
SERVER-74930 $avg está devolviendo la suma en lugar del promedio en el $group de agregación
Servidor-75205 Interbloqueo entre degradación y restauración de bloqueos tras la concesión cuando se agotan todas las tickets de lectura
6.0.5 - 13 de marzo de 2023
Advertencia
Si actualizas una instancia existente de MongoDB a la versión 6.0.5, esa instancia puede fallar al arrancar si fork: true está configurado en el archivo mongod.conf.
El problema de actualización afecta a todas las instancias de MongoDB que utilizan paquetes de instalación .deb o .rpm. Las instalaciones que usan el lanzamiento tarball (.tgz) u otros tipos de paquetes no se ven afectadas. Para obtener más información, consulta SERVIDOR-74345.
Para remover la configuración de fork: true, ejecute estos comandos desde una terminal del sistema:
systemctl stop mongod.service sed -i.bak '/fork: true/d' /etc/mongod.conf systemctl start mongod.service
El segundo comando systemctl inicia la instancia actualizada después de que se elimine la configuración.
Problemas corregidos:
SERVIDOR-61909 Bloqueo al insertar o borrando documento con gran número de entradas de índice
SERVIDOR-66469 El filtrado de series temporales con un campo de fecha no incluye resultados anteriores al 1970.
SERVIDOR-68122 Investiga la replicación de la string config de WiredTiger en la colección durante la sincronización inicial
SERVIDOR-70395 Slot-Based motor too aggressively uses disk for $group and is slow
SERVIDOR-73232 Cambiar el nivel de verbosidad de registro por defecto para
_killOperations
6.0.4 - Jan 26, 2023
Problemas corregidos:
SERVIDOR-72416 El código de proyección find y findAndModify no respeta la intercalación a nivel de colección
SERVIDOR-71759
dataSizeel comando no produce resultadosSERVIDOR-70237 La confirmación de fusión de fragmentos no debe crear un objeto BSON demasiado grande
SERVIDOR-72222
mapReducecon la optimización de reducción única, se producen fallos al fusionar resultados en un clúster particionadoWT-9268 Retrasar la eliminación del registro del almacén del historial para la reconciliación
6.0.3 - 21 de noviembre de 2022
Problemas corregidos:
SERVIDOR-66289 $out lanza incorrectamente un error de tamaño de BSONObj en v5.0.8
SERVIDOR-68139 El comando de reordenación falla si la ordenación de proyección es mayor que 100MB.
SERVIDOR-68371 La activación de CSFLE en tu MongoClient hace que Atlas Search falle
SERVER-68115 Corrección de error para el activador de invariante "elemMatchRootLength > 0"
SERVER-68394 Asegurarse de no presentar bloqueos fuertes durante la recuperación de inicio cuando el índice _id falta
6.0.2 - 28 de septiembre de 2022
Problemas corregidos:
SERVER-68925 Reintroducir la configuración de registro de la tabla check al inicio (revertir SERVER-43664)
SERVIDOR-68628 Reintentar una operación fallida de redistribución después de una transferencia principal puede provocar el fallo del servidor o la pérdida de guardados
SERVIDOR-63852 getThreadName () no debería fallar.
SERVER-65317 mongod remueve la conexión del pool de conexiones después de ejecutar una simple $search query
SERVIDOR-63843 No permitir doLog recursivo en manejadores de señal síncronos
WT-9870 Corrige la actualización de la marca de tiempo fijada cada vez que se actualice la marca de tiempo más antigua durante la recuperación
6.0.1 - Aug 19, 2022
Problemas corregidos:
SERVIDOR-68511 La actualización MovePrimary de la entrada
config.databasesdebe usar la notación de campos punteados.SERVIDOR-68062 Las agregaciones multinivel que utilizan $geoNear pueden violar restricciones
SERVIDOR-66072 Comportamiento extraño en el muestreo $match y la agregación $group
SERVIDOR-68130 AutoSplitVector podría generar una respuesta mayor que BSONObjMaxUserSize
SERVER-68209 Remover uassert que evita que la entrada
config.image_collectionsea invalidada
6.0.0 - 19 de julio de 2022
El resto de esta página describe los cambios y nuevas funcionalidades introducidos en MongoDB 6.0.
Agregación
Nuevas etapas de agregación
MongoDB 6.0 presenta las siguientes etapas de agregación:
Etapa | Descripción |
|---|---|
Crea nuevos documentos en una secuencia de documentos donde faltan valores en un campo específico. | |
Devuelve documentos literales a partir de expresiones de entrada. | |
Rellena | |
Novedad en la versión 6.0.3: Proporciona información sobre el tamaño y la distribución de los datos en las colecciones particionadas. |
Nuevos operadores de agregación
MongoDB 6.0 introduce los siguientes operadores de agregación:
Operador | Descripción |
|---|---|
Devuelve el elemento más bajo dentro de un grupo según el orden de acomodo especificado. | |
Devuelve una agregación de los | |
Devuelve una agregación de los primeros elementos de | |
Devuelve un número especificado de elementos desde el inicio de un arreglo. Distinto del acumulador | |
Devuelve una agregación de los últimos elementos | |
Devuelve un número especificado de elementos desde el final de un arreglo. Distinto del acumulador | |
Completa | |
Última observación llevada hacia adelante. Establece los valores para | |
Devuelve una agregación de los | |
Devuelve los valores más grandes de | |
Devuelve una agregación de los | |
Devuelve los | |
Ordena un arreglo en función de sus elementos. | |
Devuelve el elemento superior dentro de un grupo según el orden de clasificación especificado. Diferente del comando | |
Devuelve una agregación de los | |
Devuelve el ordinal incremental de una marca de tiempo como un | |
Devuelve los segundos de una marca de tiempo como un |
$lookup y $graphLookup con Colección particionada
A partir de MongoDB 5.1, las etapas de agregación $lookup y $graphLookup admiten colecciones fragmentadas en el parámetro from.
En versiones previas de MongoDB, $lookup y $graphLookup solo permitían colecciones no particionadas from.
No se puede usar la etapa $graphLookup dentro de una transacción durante el direccionamiento a una colección fragmentada.
Flujos de cambio
Optimized Change Streams
A partir de MongoDB 5.1, los change streams están optimizados, proporcionando una utilización más eficiente de los recursos y una ejecución más rápida de algunas etapas del pipeline de agregación.
wallTime Campo de salida de Change Stream
A partir de MongoDB 6.0, el flujo de cambios presenta un nuevo campo wallTime que contiene la fecha y hora del servidor de la operación en la base de datos.
Change Streams con imágenes previas y posteriores de los documentos
A partir de MongoDB 6.0, se pueden utilizar flujos de cambios para generar la versión de un documento antes y después de los cambios (las imágenes previas y posteriores del documento). Para ver ejemplos, consultar Change Streams con imágenes previas y posteriores a los documentos.
Cambiar eventos expandidos de Stream
A partir de MongoDB 6.0, los flujos de cambios pueden mostrar eventos de cambio adicionales para operaciones DDL, como la creación de índices y la eliminación de colecciones.
Para obtener más información, consulte Eventos ampliados.
filtro
A partir de MongoDB 6.0, siempre que sea posible, los filtros de coincidencia se aplican a los flujos de datos antes que en las versiones anteriores. Esto mejora el rendimiento. Sin embargo, cuando un filtro está definido de forma estricta, una coincidencia anterior puede provocar que una operación que tenía éxito en versiones previas falle en la 6.0.
Administración de clústeres
Cluster Server Parameters
A partir de MongoDB 6.0, puedes utilizar Parámetros del clúster para una implementación autogestionada para modificar y recuperar opciones de configuración para todos los nodos en un set de réplicas o clúster. Puedes usar setClusterParameter para modificar opciones a nivel de clúster y getClusterParameter para recuperar el valor de un parámetro de clúster.
Parámetros de pool de conexiones
A partir de MongoDB 6.0, puedes usar ShardingTaskExecutorPoolMinSizeForConfigServers y ShardingTaskExecutorPoolMaxSizeForConfigServers para establecer el tamaño mínimo y máximo del pool de conexiones de TaskExecutor para servidores de configuración.
changeStreamOptions Cluster Parameter
A partir de MongoDB 6.0, puedes usar changeStreamOptions para controlar la política de retención de imágenes previas y posteriores de flujo de cambios.
internalSessionsReapThreshold Parameter
A partir de MongoDB 6.0, puedes utilizar el nuevo parámetro internalSessionsReapThreshold para establecer el límite de sesión para la eliminación de metadatos de sesión internos.
No se admiten múltiples árbitros
A partir de MongoDB 5.3, el soporte para múltiples árbitros en un set de réplicas está desactivado por defecto. Para permitir el soporte para múltiples árbitros, se debe iniciar cada nodo con el parámetro allowMultipleArbiters.
Colecciones con índice clusterizado
A partir de MongoDB 5.3, puedes crear una colección con un índice clusterizado. Las colecciones creadas con un índice agrupado se llaman colecciones agrupadas.
Para conocer las ventajas en comparación con una colección normal, consulte Colección con índice clusterizado.
Indexes
A partir de MongoDB 5.1, puedes usar el comando de base de datos collMod para agregar la opción expireAfterSeconds a un índice existente de campo único sin TTL.
A partir de MongoDB 6.0, puedes utilizar las opciones prepareUnique y unique para el comando collMod para convertir un índice estándar existente en un índice único.
Índices parciales
A partir de MongoDB 6.0, puedes usar los operadores $in y $or para crear índices parciales. La profundidad máxima partialFilterExpression también se amplía de 2 a 4. Ahora se pueden utilizar los operadores $and y $or en niveles que no son superiores.
Instalación
Políticas SELinux
A partir de MongoDB 5.1, se implementa una nueva política SE Linux para:
ejecutando en Red Hat Linux. La política de SELinux es para su uso con instalaciones por defecto que utilizan rpm paquetes instaladores.
Soporte de plataforma
MongoDB 6.0.3 presenta compatibilidad para RHEL / CentOS / Oracle / Rocky / AlmaLinux 9.
Para instalar MongoDB en RHEL, consulta:
Sets de réplicas
No se admiten múltiples árbitros
A partir de MongoDB 5.3, el soporte para múltiples árbitros en un set de réplicas está desactivado por defecto. Para permitir el soporte para múltiples árbitros, se debe iniciar cada nodo con el parámetro allowMultipleArbiters.
initialSyncMethod Parameter
A partir de MongoDB 5.2, el initialSyncMethod determina si la sincronización inicial es una sincronización inicial lógica o una sincronización inicial basada en copia de archivos.
initialSyncMethod solo está disponible en MongoDB Enterprise Server.
Especificar el Retardo de Agrupación de Oplog Secundario
A partir de MongoDB 6.0, puedes usar el parámetro del servidor oplogBatchDelayMillis para especificar un retardo para las escrituras de lotes de oplog en los secundarios. Agregar un breve retraso por lotes de oplog puede reducir IOPS en los secundarios, pero agrega latencia a las escrituras con nivel de confirmación de escritura (write concern) "majority".
Para obtener más información, consulta oplogBatchDelayMillis.
Seguridad
Cifrado del registro de auditoría
A partir de MongoDB 6.0 Enterprise, puedes cifrar el registro de auditoría de MongoDB.
Para configurar el registro de auditoría, consulta Registro de auditoría.
Parámetros del servidor
mongod agrega estos parámetros:
transactionTooLargeForCacheThreshold(Comenzando en MongoDB 6.0.5).
particionado
Utiliza $shardedDataDistribution para analizar la distribución de datos particionados
A partir de MongoDB 6.0.3, puede usar la etapa $shardedDataDistribution para analizar cómo se distribuyen sus datos fragmentados en el clúster.
Si estás ejecutando MongoDB 5.0, puedes actualizar tu clúster a MongoDB 6.0 y analizar la distribución de datos particionado. Para obtener detalles adicionales, consulte Análisis de la distribución de datos fragmentados.
Equilibrio de los cambios de política
A partir de MongoDB 6.0.3, los datos en clústeres sharded se distribuyen en función del tamaño de los datos en lugar de la cantidad de fragmentos. Como resultado, debes estar al tanto de los siguientes cambios significativos en el comportamiento de la distribución de datos de clústeres sharded:
El balanceador distribuye rangos de datos en lugar de fragmentos. La política de equilibrio busca la uniformidad en la distribución de datos en lugar de la distribución de fragmentos.
Los fragmentos no están sujetos a dividirse de manera automática. En cambio, los fragmentos solo se dividen cuando se trasladan entre particiones
Un fragmento ahora se denomina un rango.
moveRangeha reemplazado amoveChunk.
Tamaño de fragmento por defecto aumentado de 64 MB a 128 MB
A partir de MongoDB 5.2, el tamaño por defecto de los fragmentos es de 128 megabytes. En versiones anteriores de MongoDB, el tamaño por defecto de los fragmentos es de 64 megabytes.
enableSharding Ya no se requiere
A partir de MongoDB 6.0, ya no se requiere el comando enableSharding para crear particiones en una colección.
Supervisar el estado de la desfragmentación
A partir de MongoDB 5.3, el comando balancerCollectionStatus devuelve información detallada cuando se ejecuta en un namespace que se está sometiendo a una desfragmentación de fragmentos. La salida incluye la fase actual de la desfragmentación y cuántos fragmentos quedan por procesar.
Para ver una salida de ejemplo, consulta Proceso de desfragmentación en curso.
Motor de ejecución de query basado en ranuras
A partir de MongoDB 5.1, MongoDB utiliza un nuevo motor de ejecución de consultas para las consultas elegibles, llamado motor de ejecución de consultas basado en ranuras. Si se utiliza el motor de ejecución de consultas basado en ranuras, se añaden nuevos campos a la salida del plan de explicación de la query.
Si es posible, se utiliza el nuevo motor de ejecución de query.
Si se utiliza el nuevo motor de ejecución de consultas, se incluyen nuevos campos en la salida del plan de explicación de consultas.
El motor de ejecución de query basada en slots puede ejecutar las etapas $group y $lookup
A partir de la versión 6.0, MongoDB utiliza el motor de ejecución de query basado en ranuras para ejecutar las etapas $group y $lookup elegibles cuando se cumplen ciertas condiciones.
Para obtener más información, consulte Optimización de la pipeline del Motor de Ejecución de query Basado en Ranuras.
Stable API
Las siguientes secciones describen las novedades en la Stable API introducidas en MongoDB 6.0.
Para consultar la lista completa de comandos de base de datos disponibles en la Stable API, consulte Registro de cambios de la Stable API.
Comandos de base de datos
A partir de MongoDB 6.0, los siguientes comandos de base de datos se admiten en el Stable API:
Comando | Descripción | Versión estable de la API |
|---|---|---|
Cuenta el número de documentos en una colección o una vista. (También disponible en la Stable API para la serie 5.0 de implementaciones a partir de MongoDB 5.0.9.) | V1 |
Etapas y operadores de agregación
A partir de MongoDB 6.0, las siguientes etapas de agregación y operadores son compatibles con la Stable API:
Etapa u operador | Descripción | Versión estable de la API |
|---|---|---|
Devuelve el elemento más bajo dentro de un grupo, de acuerdo con el criterio de orden de clasificación especificado. | V1 | |
Devuelve una agregación de los | V1 | |
Incrementa un objeto Date en una cantidad especificada de unidades de tiempo. | V1 | |
Devuelve la diferencia entre dos fechas. | V1 | |
Disminuye un objeto Fecha en un número especificado de unidades de tiempo. | V1 | |
Trunca una fecha. | V1 | |
Crea nuevos documentos en una secuencia de documentos donde faltan ciertos valores en un campo. | V1 | |
| Devuelve una agregación de los primeros elementos de | V1 |
| Devuelve un número especificado de elementos desde el inicio de un arreglo. | V1 |
Devuelve el valor de un campo especificado de un documento. | V1 | |
| Devuelve una agregación de los últimos elementos | V1 |
| Devuelve un número especificado de elementos desde el final de un arreglo. | V1 |
Última observación llevada hacia adelante. Establece los valores para | V1 | |
| Devuelve una agregación de los valores máximos de los elementos | V1 |
| Devuelve los valores más grandes de | V1 |
| Devuelve una agregación de los elementos de valor mínimo | V1 |
| Devuelve los | V1 |
Añade, actualiza o remueve un campo especificado en un documento. | V1 | |
Realiza operaciones en un intervalo especificado de documentos en una colección, conocido como ventana, y devuelve los resultados basados en el operador de ventanaelegido. | V1 | |
Ordena un arreglo en función de sus elementos. | V1 | |
Devuelve el elemento principal dentro de un grupo según el orden de acomodo especificado. | V1 | |
Devuelve una agregación de los | V1 | |
Devuelve el ordinal incremental de una marca de tiempo como un | V1 | |
Devuelve los segundos de una marca de tiempo como un | V1 |
Operadores de ventana
A partir de MongoDB 6.0, se admiten los siguientes operadores de ventana en la Stable API:
operador de ventana | Descripción | Versión estable de la API |
|---|---|---|
Devuelve un arreglo de todos los valores únicos que resultan de aplicar una expresión a cada documento. | V1 | |
Devuelve el promedio de la expresión especificada. Ignora los valores no numéricos. | V1 | |
Devuelve la cantidad de documentos en el grupo o ventana. | V1 | |
Devuelve la covarianza poblacional de dos expresiones numéricas. | V1 | |
Devuelve la covarianza muestral de dos expresiones numéricas. | V1 | |
Devuelve la posición del documento (conocida como el rango) en relación con otros documentos en la etapa de partición | V1 | |
Devuelve la tasa promedio de cambio dentro de la ventana especificada. | V1 | |
Devuelve la posición de un documento (conocido como número de documento) en la etapa de partición | V1 | |
V1 | ||
V1 | ||
Devuelve la aproximación del área bajo una curva. | V1 | |
V1 | ||
Última observación llevada hacia adelante. Establece los valores para | V1 | |
Devuelve el valor máximo que resulta de aplicar una expresión a cada documento. | V1 | |
Devuelve el valor mínimo que resulta de aplicar una expresión a cada documento. | V1 | |
Devuelve un arreglo de valores que resultan de aplicar una expresión a cada documento. | V1 | |
Devuelve la posición del documento (conocida como rango) en relación con otros documentos en la partición de la etapa | V1 | |
Devuelve el valor de una expresión aplicada a un documento en una posición especificada relativa al documento actual en la partición de la etapa de | V1 | |
Devuelve la desviación estándar de la población que resulta de aplicar una expresión numérica a cada documento. | V1 | |
Devuelve la desviación estándar de la muestra que resulta de aplicar una expresión numérica a cada documento. | V1 | |
Devuelve la suma que resulta de aplicar una expresión numérica a cada documento. | V1 |
Colecciones de series de tiempo
Las siguientes secciones describen mejoras y nuevas funciones para colección de series de tiempo.
Colección de series de tiempo particionada
MongoDB 5.1 proporciona soporte para colecciones de series temporales particionadas.
Consulte:
Actualizaciones y Eliminaciones
A partir de MongoDB 5.1, las colecciones de series de tiempo admiten operaciones de actualización y eliminación con ciertas limitaciones.
Compresión de columnas de serie de tiempo
A partir de MongoDB 5.2, las colecciones de series temporales utilizan compresión por columnas. La compresión de columna incorpora una serie de innovaciones que trabajan en conjunto para mejorar significativamente la compresión práctica, reducir el almacenamiento general de sus datos en el disco y mejorar el rendimiento de lectura.
A partir de MongoDB 6.0, los arreglos también se comprimen como parte de la compresión de columnas de serie de tiempo.
SOPORTE PARA $geoNear
A partir de MongoDB 5.3, puedes utilizar el operador de pipeline $geoNear en cualquier campo de una colección de series de tiempo.
Tipos adicionales de índices secundarios
Puedes añadir tipos adicionales de índices secundarios a las colecciones de series temporales, incluidos los índices 2dsphere y 2d.
Para todos los índices adicionales y otras mejoras, consulta Índices secundarios de series de tiempo en MongoDB 6.0.
Operaciones de clasificación que utilizan índices secundarios
Las operaciones de ordenamiento en colecciones de series temporales pueden usar índices para mejorar el rendimiento. Para obtener más información y un ejemplo, consulta Mejora el rendimiento de ordenación utilizando índices secundarios.
Mejoras generales
Descartar un índice de clave de partición con hash
A partir de MongoDB 6.0.12 (y 5.0.22), puedes descartar el índice para una clave de partición con hash.
Esto puede acelerar la inserción de datos para colecciones particionadas con una clave de partición con hash.
Para obtener más información, consulta Descartar un índice de clave de fragmentación encriptada.
Compatibilidad de OpenSSL3 FIPS
A partir de MongoDB 6.0.7, El modo FIPS admite OpenSSL3 para los siguientes sistemas operativos:
Ubuntu 22.04
RHEL 9
Amazon Linux 2023
Mejoras en colecciones limitadas
A partir de MongoDB 6.0, puedes cambiar el tamaño máximo de una colección con tamaño fijo, ya sea en bytes o en número de documentos, utilizando el comando collMod. Consulta Redimensionar una colección con tamaño fijo para obtener más detalles.
numOrphanDocs Campo añadido al comando collStats
A partir de MongoDB 6.0, la salida collStats incluye el campo collStats.numOrphanDocs que muestra el número de documentos huérfanos en la colección.
Excluir los campos integrados en serverStatus salida
A partir de MongoDB 6.0 (y 5.0.9), puede excluir los campos incorporados de la salida de serverStatus.
Conexiones
A partir de MongoDB 6.0, el objeto de conexión Mongo() tiene los siguientes métodos nuevos:
Soporte para la generación de rastreo de diagnóstico en arm64
A partir de MongoDB 6.0 (y 5.0.10), generación de trazas de diagnóstico en arm64 es compatible.
Configure el intervalo de actualización para la información de usuario LDAP en caché
A partir de MongoDB 5.2, puedes utilizar los siguientes nuevos parámetros de servidor para configurar el intervalo de actualización de la información de usuarios LDAP almacenada en caché:
A partir de MongoDB 5.2, el intervalo de actualización para la información de usuario almacenada en caché recuperada de un servidor LDAP depende de ldapShouldRefreshUserCacheEntries:
Si es cierto, utilice
ldapUserCacheRefreshInterval.Si es falso, use
ldapUserCacheInvalidationInterval.
Cambios que afectan la compatibilidad
Algunos cambios pueden afectar la compatibilidad y requerir acciones de los usuarios. Para obtener una lista detallada de los cambios de compatibilidad, consultar Cambios de compatibilidad en MongoDB 6.0.
Procedimientos de actualización
Importante
Compatibilidad de características entre versiones
Para actualizar a MongoDB 6.0 desde una implementación 5.0, la implementación 5.0 debe tener featureCompatibilityVersion establecido en 5.0. Para comprobar la versión:
db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
Para actualizar a MongoDB 6.0, consulta las instrucciones de actualización específicas para tu implementación de MongoDB:
Si necesitas orientación sobre la actualización a 6.0, los servicios profesionales de MongoDB brindan soporte para la actualización de versiones principales para ayudar a garantizar una transición fluida y sin interrupciones en la aplicación de MongoDB. Para obtener más información, consulta Consultoría de MongoDB.
Consideración de reducción de versión
MongoDB solamente soporta degradaciones de una única versión. No se puede retroceder a una versión que esté varias versiones por detrás de la versión actual.
Por ejemplo, puedes cambiar una implementación de la serie 6.0 a una de la serie 5.0. Sin embargo, una posterior degradación de esa implementación 5.0-series a una implementación 4.4-series no está soportada.
Descargar
Para descargar MongoDB 6.0, dirígete al Centro de descargas de MongoDB.
Problemas conocidos
Esta sección describe los problemas conocidos en MongoDB 6.0 y su estado de resolución.
En la Versión | Problema | Estado |
|---|---|---|
6.0.0 | SERVIDOR-68062: Las agregaciones de varias etapas que usan $geoNear pueden violar restricciones. | Resuelto en 6.0.1. |
Informar un problema
Para informar un problema, consulte el repositorio de GitHub de MongoDB a fin de obtener instrucciones sobre cómo presentar un ticket de JIRA para el servidor de MongoDB o uno de los proyectos relacionados.