Esta página describe los cambios y las nuevas características introducidas en MongoDB 8.0.
Advertencia
MongoDB 8.0 y versiones posteriores son incompatibles con Kernel 6.19
Debido a una incompatibilidad entre una nueva versión del kernel y la versión actualmente en uso de TCMalloc, ejecutar MongoDB 8.0 o una versión más reciente con la versión 6.19 del kernel de Linux puede provocar que MongoDB se bloquee al iniciar. Esto aplica a todos los paquetes de MongoDB, incluidos aquellos obtenidos desde el sitio web de MongoDB, o adquiridos desde gestores de paquetes o Docker.
Tan pronto como haya una versión parcheada de TCMalloc disponible, MongoDB se actualizará para usarla y este problema de compatibilidad se solucionará.
Importante
Si ejecutas una versión de MongoDB anterior a 8.0.5 con TLS habilitado utilizando el
openssl-3.2.2-6.el9_5.x86_64 el paquete mongod puede mostrar un uso elevado de CPU incluso bajo una carga de trabajo ligera debido a un error en la versión de openssl. Para resolver este problema, actualice a MongoDB 8.0.5 o posterior, o utilice una de las siguientes soluciones alternativas:
Retrocede el paquete openssl a una versión anterior a
openssl-3.2.2-6.el9_5.x86_64.Deshabilite TLS para la implementación de MongoDB (no recomendado).
MongoDB 8.0 es una versión principal, lo que significa que es compatible tanto con MongoDB Atlas como con implementaciones on-premises. MongoDB 8.0 incluye los cambios introducidos en las versiones rápidas de MongoDB 7.1, 7.2 y 7.3. Esta página describe los cambios introducidos en esas versiones rápidas y MongoDB 8.0.
MongoDB Atlas ejecuta una actualización automática para los clústeres dedicados (M10+) a la versión principal si la opción Latest Release (auto-upgrades) está activada. Si deseas actualizar tu MongoDB Atlas manualmente, consulta Actualiza un clúster a una nueva versión de MongoDB, para obtener más información sobre las versiones de MongoDB para clústeres en Atlas, consulta ¿Qué versiones de MongoDB utilizan los clústeres de Atlas?
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 |
|---|---|
8.0.0 - 8.0.3 | |
8.0.0 - 8.0.3 |
Versiones de parches
8.0.26 - Junio 11, 2026
Importante
MongoDB 8.0.26 contiene una solución para CVE-2026-11933
Para obtener la información más reciente sobre las actualizaciones de seguridad de MongoDB, consulte Boletines de seguridad de MongoDB.
Problemas corregidos:
SERVIDOR-128125 Alinear la semántica de propiedad de bsonObjToArray con bsonGetImmutable
8.0.25 - Junio 10, 2026
Problemas corregidos:
SERVIDOR-127984 Acelera isMetadataFieldName con coincidencia de campos en tiempo de compilación
8.0.24 - Junio 9, 2026
Importante
MongoDB 8.0.24 contiene una corrección para:
Para obtener la información más reciente sobre las actualizaciones de seguridad de MongoDB, consulte Boletines de seguridad de MongoDB.
Problemas corregidos:
SERVIDOR-106903 Hacer que QueryAnalysisCoordinator::onSamplerDelete sea menos propenso a errores
SERVIDOR-107966 Un SingleServerPingMonitor dentro del RSM puede deshabilitarse y nunca volver a habilitarse
servidor-115250 Pausar JWKSetRefreshJob durante el tiempo de inactividad
SERVIDOR-121822 Las colecciones agrupadas no filtran correctamente los resultados con $lt en _id
SERVER-126049 La verificación del límite de heap por ámbito de MozJS utiliza el contador de GC global del proceso.
SERVER-125063 Prohibido anidar BSONColumn dentro de BSONColumn
SERVIDOR-123507 Los predicados cifrados dentro de un
$vectorSearchprefiltro deben sustituirse por marcadores de cifradoSERVIDOR-123688 Agregar chequeo de nulos en
DocumentSourceSetVariableFromSubPipeline::reattachToOperationContext()SERVIDOR-124190 Prohibir el campo de agregado
exchangede clientes que no sean internosservidor-123918 Validar
runtimeConstants.userRolesen IDLSERVIDOR-123951
$_internalConvertBucketIndexStatsno debería devolver PauseExecution en caso de error en la conversión de índiceSERVER-124031 Asegúrese de que
Exchange::getTargetConsumergestione correctamente MaxKeySERVER-123633 Corregir el manejo de campos de usuario con prefijo $ que colisionan con los metadatos internos
SERVER-123370 La contraseña de query LDAP se registra cuando se establece a través de setParameter
SERVIDOR-123440 GeometryCollection con polígono de estricto sentido provoca un fallo de generación de clave de índice 2dsphere
servidor-124959 Valide los límites del arreglo diff del documento y
$_internalApplyOplogUpdateBSON
8.0.23 - 12 de mayo de 2026
Importante
MongoDB 8.0.23 contiene una corrección para:
Para obtener la información más reciente sobre las actualizaciones de seguridad de MongoDB, consulte Boletines de seguridad de MongoDB.
Problemas corregidos:
SERVIDOR-120668 No permitir
$trimcon una string de máscara demasiado grandeSERVIDOR-121895 Mejorar la restricción de los errores de validación
SERVIDOR-122032 Llamar a
replaceEncryptedFieldsInFiltercon proyección posicional da lugar a un uso después de liberarSERVIDOR-122449 Mejorar
$bitSetexpresiones de coincidenciaSERVIDOR-126021 Comportamiento indefinido al insertar datos con nombres de campo duplicados en colecciones de series temporales
8.0.21 - Apr 29, 2026
Importante
MongoDB 8.0.21 contiene una corrección para:
Para obtener la información más reciente sobre las actualizaciones de seguridad de MongoDB, consulte Boletines de seguridad de MongoDB.
Problemas corregidos:
Falta de verificación de autorización en updateUser servidor-119679
SERVIDOR-119981 Corregir binDataClean() para el tipo obsoleto
SERVIDOR-86326: Aumentar la longitud máxima del patrón regex a 32k
SERVIDOR-104438: Recuperar el oplog puede bloquear la asunción/renuncia de rol
SERVIDOR-111007: La validación debe distinguir entre causas raíz al encontrar datos mixtos de esquemas
SERVIDOR-118466: Evitar que el Monitor TTL genere una cantidad ilimitada de subprocesos para la recuperación de metadatos de particionado
SERVIDOR-118546: No se puede crear el índice timeseries 2dsphere con un usuario que no sea del sistema
8.0.20 - 17 de marzo de 2026
Importante
MongoDB 8.0.20 contiene una corrección para:
Para obtener la información más reciente sobre las actualizaciones de seguridad de MongoDB, consulte Boletines de seguridad de MongoDB.
SERVIDOR-105047: Query usando
$ory$neen una colección particionada puede incluir documentos huérfanos.SERVIDOR-110423:
$grouppuede usar un escaneo distinto en un índice disperso, lo que oculta resultados nulos o faltantesSERVIDOR-110803:
$topy$bottomignoran la cláusulasortBycuando se precede la etapa de$sort, lo que la hace apta para la optimizaciónDISTINCT_SCANSERVIDOR-110832: OplogWriter no debe mantener la sesión durante retrocesos
SERVIDOR-110916: Uso después de movimiento en
targetShardsAndAddMergeCursors()Servidor-113319:
$matchla propagación después de un campo renombrado se realiza incorrectamente cuando la raíz de la expresión es una expresión de ruta de campo renombradaSERVIDOR-115962: El balanceador no avanza cuando la partición más cargada ya está equilibrada dentro de sus zonas
SERVIDOR-118428:
mongocryptdrechaza mensajes grandesSERVIDOR-119317: Mejore el ciclo de vida del objeto de estado del hash MD5
SERVIDOR-119319: Corregir el error de uso después de liberar memoria de ExpressionContext
WT-14034: Corregir la resolución de la clave preparada varias veces debido a actualizaciones reservadas
8.0.19 - Feb 10, 2026
SERVER-118712 - No se puede crear el índice de dssphere 2de series temporales con un usuario que no sea del sistema
8.0.18 - Jan 27, 2026
Importante
MongoDB 8.0.18 contiene una corrección para:
Para obtener la información más reciente sobre las actualizaciones de seguridad de MongoDB, consulte Boletines de seguridad de MongoDB.
Problemas corregidos:
SERVIDOR-102364 - Verificar periódicamente que $reduce no acumule una profundidad mayor a maxAllowableBSONDepth
SERVIDOR-103774 - Prohibir el uso de índices comodín compuestos como claves de partición
SERVIDOR-110953 - Verifique que no haya documentos huérfanos presentes en una partición de destinatario antes de comenzar a clonar un rango
SERVIDOR-112952 - apretar la comprobación de autenticación del comando de perfil
SERVIDOR-113532 - [8.0] Introducir un nuevo límite CursorResponseBsonSize de 16MB+32KB
SERVIDOR-113685 - Error de segmentación para la query en el índice compuesto de comodines
SERVIDOR-114126 - Reducir el uso de memoria y agregar nuevas barreras de seguridad al simplificador booleano
SERVIDOR-114695 - Actualizar el valor por defecto para las conexiones pendientes
SERVER-114838 - El administrador de bloqueos es susceptible a un ataque DDOS adversarial
SERVIDOR-115296 - Enmascarar los valores en bruto de ResourceId de los mensajes de error
SERVIDOR-116206 - Mejor manejo de excepciones para compresores de mensajes
SERVIDOR-116210 - Ajustar el tamaño máximo del búfer para solicitudes de entrada
SERVIDOR-116211 - Limitar la memoria asignada por los búferes de red
8.0.17 - 19 de diciembre de 2025
Importante
MongoDB 8.0.17 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
8.0.16 - 19 de noviembre de 2025
Importante
MongoDB 8.0.16 incluye correcciones para CVE-2025-12893, CVE-2025-13507, y CVE-2025-14345.
Para obtener la información más reciente sobre las actualizaciones de seguridad de MongoDB, consulte Boletines de seguridad de MongoDB.
Problemas corregidos:
SERVIDOR-55068: Establece el máximo de
net.maxIncomingConnectionsen sistemas Linux a(RLIMIT_NOFILE / 2) * 0.8SERVIDOR-82688: Corrige un error que provocaba que
mongodse bloqueara cuando el número de conexiones excedía el límite desession_maxde WiredTiger.SERVIDOR-95374: Resuelve un problema en el que los índices comodín compuestos podían hacer que los predicados se desplazaran incorrectamente hacia abajo durante la planificación de la unión o de la consulta.
SERVIDOR-103960: Implemente una comprobación adecuada de validación en la ruta de campo para asegurar que el número de partes no supere
255.SERVER-108565: Mejorar el manejo de escrituras sobredimensionadas en colecciones de series temporales.
SERVIDOR-112467: Mejora el seguimiento y el reporte sobre el número de conexiones de proxy pendientes.
SERVIDOR-112520: Corrige un fallo al escribir en un índice geográfico al insertar un documento en un bucket existente en una colección de series de tiempo.
WT-9575: Corrige un problema en el que las páginas con actualizaciones más recientes que el ID de transacción más antiguo no se ponían en cola para ser desalojadas.
WT-15225: Corrige un problema de
EBUSYpara las tablas recién creadas y las operacionesdrop().
8.0.15 - 2 de octubre de 2025
Importante
El uso después de liberar memoria en el planificador de consultas del servidor MongoDB puede provocar un bloqueo o un comportamiento indefinido.
Descripción: un usuario autorizado puede hacer que el servidor MongoDB se bloquee provocando una sobrelectura del búfer. Esto puede ocurrir cuando se ejecuta una operación DDL mientras se ejecutan las consultas.
Puntuación CVSS: 5.3
CWE: 416 Uso después de liberar
Versiones de producto afectadas: MongoDB Server 8.2.0, 8.0.14 a 8.0, 7.0.24 a 7.0 y versiones principales anteriores al final de su ciclo de vida.
Problemas corregidos:
SERVIDOR-105873: QueryPlannerParams no debe mantener punteros que son propiedad de IndexCatalogEntry.
8.0.14 - 25 de septiembre de 2025
Importante
MongoDB 8.0.14 incluye una solución para CVE-2025-13643.
Para obtener la información más reciente sobre las actualizaciones de seguridad de MongoDB, consulte Boletines de seguridad de MongoDB.
Problemas corregidos:
SERVIDOR-100448: El registro de comandos no debe depender de la compatibilidad de características entre versiones al inicio.
SERVIDOR-103742: opWriteConcernCounters puede incrustar ilegalmente bytes NUL en ServerStatus.
SERVIDOR-103841: Fuga de memoria en TransactionCoordinator asociada a una fuente de cancelación prolongada.
SERVIDOR-105478: Separar las entradas de oplog elegibles y no elegibles para el aplicador con secondaryDelaySecs.
WT-14140: Se ha tomado un bloqueo de esquema innecesario para los identificadores de datos activos de "archivo:" que no se gestionan activamente.
WT-14653: Agrega registros/estadísticas a la conciliación para el seguimiento de las actualizaciones de HS
8.0.13 - Aug 21, 2025
Importante
MongoDB 8.0.13 incluye una solución para CVE-2025-13644.
Para obtener la información más reciente sobre las actualizaciones de seguridad de MongoDB, consulte Boletines de seguridad de MongoDB.
Problemas corregidos:
SERVIDOR-77172: El subproceso
abortExpiredTransactionspuede bloquearse si no logra obtener una sesiónSERVIDOR-82180: Las inserciones limitadas en el primario pueden tener un orden natural diferente al de los secundarios.
SERVIDOR-91686: Mejore el controlador de señales
mongodpara imprimir el objeto de comando del hilo actual.SERVidor-94315: Error de filtro de fragmento con intercalación.
SERVIDOR-102670: Manejo de errores en la inserción de la serie de tiempo gestionada incorrectamente.
SERVIDOR-107361: La determinación de rollover en el catálogo de buckets puede fallar al comprobar el esquema mixto para mediciones de gran volumen.
Cambios de compatibilidad:
SERVER-103927: Cambia la forma en que el servidor se compila utilizando Bazel en lugar de SCons
8.0.12 - 23 de julio de 2025
Importante
Debido a CVE-2025-10061, en MongoDB 8.0 anterior a 8.0.12, un usuario autorizado puede provocar un bloqueo en MongoDB Server a través de una query $group especialmente diseñada. Esta vulnerabilidad está relacionada con la incorrecta gestión de ciertas funciones acumuladoras cuando se especifican parámetros adicionales dentro de la operación $group. Esta vulnerabilidad podría llevar a una denegación de servicio si se activa repetidamente.
Este problema afecta a las siguientes versiones de MongoDB Server:
8.1.0 - 8.1.1
8.0.0 - 8.0.11
7.0.0 - 7.0.21
6.0.0 - 6.0.24
Puntuación CVSS: 6.5
CWE: CWE-20 Validación incorrecta de entrada
Problemas corregidos:
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
SERVIDOR-97368: Activar eliminaciones TTL en colecciones de series de tiempo que contienen datos anteriores a 1970.
SERVIDOR-99342: Las métricas de disminución de sondeo de rendimiento no se están actualizando.
SERVIDOR-99616 $group puede acceder a MONGO_verify
WT-14391: Verifica que el servidor de desalojo esté en funcionamiento antes de abrir HS
8.0.11 - Jun 30, 2025
Problemas corregidos:
SERVIDOR-105375: Utilice el plan EOF para las expresiones alwaysFalse dentro de elemMatch.
SERVIDOR-106614: Lista de hosts del set de réplicas en las entradas de config.shards no actualizadas para los fragmentos agregados antes de 8.0.
8.0.10 - Jun 04, 2025
Importante
Una respuesta KMIP malformada puede resultar en una violación de acceso de lectura.
Debido a2025-12657 de la CVE, en MongoDB 8.0 anterior a 8.0.10, el analizador de respuestas KMIP incorporado en los binarios mongo es demasiado tolerante con ciertos paquetes malformados y puede analizarlos en objetos no válidos. Lecturas posteriores de este objeto pueden provocar violaciones de acceso de lectura.
Este problema afecta a las siguientes versiones de MongoDB Server:
8.0.0 - 8.0.9
7.0.0 - 7.0.21
Puntuación CVSS: 5.9
CWE: CWE-754: Verificación inadecuada de condiciones inusuales o excepcionales
Problemas corregidos:
SERVIDOR-101230: Defecto de análisis de Coverity 155126: Uso de un iterador no válido.
SERVIDOR-90495: Soporte para iniciar o reanudar desde un registro eliminado en un escaneo en orden natural.
SERVER-92806: La entrada de caché del plan ignora la intercalación del índice con $elemMatch
SERVER-96197: Los _resolvedNamespaces de ExpressionContext no distinguen entre colecciones con el mismo nombre en diferentes bases de datos
SERVIDOR-100785: Fallo fatal del servidor de configuración de mongodb tras emitir un comando reshardCollection malformado.
WT-13216: Evalúa el uso de la verificación de desalojo de caché en modo compacto
8.0.9 - 1 de mayo de 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 8.0 anterior a 8.0.9, El componente mongos del servidor MongoDB puede volverse no receptivo a nuevas conexiones debido a un manejo incorrecto de datos incompletos. Este problema afecta a clústeres de MongoDB particionados que están configurados con soporte para balanceador de carga para mongos usando HAProxy en puertos específicos.
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:
SERVIDOR-92236: Las migraciones de fragmentos deben utilizar fuentes de cancelación de corta duración.
SERVER-106753: Un manejo incorrecto de datos incompletos puede impedir que
mongosacepte nuevas conexiones
8.0.8 - Apr 14, 2025
Problemas corregidos:
SERVIDOR-103328 Manejo incorrecto de BSONColumn al omitir una RLE distinta de cero para el tipo double
8.0.7 - 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 8.0 anterior a la 8.0.7, 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
8.0.6 - 19 de marzo de 2025
Problemas corregidos:
SERVIDOR-87442 Soporte de plataforma: Añade soporte para Macos 14 sonoma (ARM64 y AMD64)
SERVIDOR-89757 checkSbeStatus debe verificar todos los nodos
SERVIDOR-97911 El query con "_id en un arreglo vacío" recorre toda la colección cuando se utiliza el índice _id como sugerencia
SERVIDOR-100901 Flexibilizar la invariante del resumen del usuario para tassert en ShardingTaskExecutor
SERVER-101838 Revert SERVER-93101 + SERVER-91121
8.0.5 - Feb 20, 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 8.0 anterior a la versión 8.0.5, 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 8.0 anterior a la versión 8.0.5, 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-51366 Configura las carpetas creadas por el instalador
SERVIDOR-93497 Mueve la invalidación de la caché de usuario de OpObserver a los controladores onCommit
SERVIDOR-95672 Los índices en campos de arreglos que contienen subarreglos no incluyen algunos resultados.
SERVIDOR-97044 Corrige un problema en el que los flujos de cambio podrían generar incorrectamente un evento de "descarte" durante la re-fragmentación o desfragmentación de una colección que está o estaba utilizando la fragmentación por zonas.
SERVIDOR-97860 La ruta Express puede devolver resultados incorrectos al escanear un índice único de múltiples campos
SERVIDOR-99290 Las colecciones de buckets de series de tiempo no válidas impiden la finalización de la compatibilidad de características entre versiones 8.0 actualizar
SERVIDOR-99345 Evita la sharding o el movimiento de una colección de cubos de serie de tiempo sin las opciones de 'timeseries' en compatibilidad de características entre versiones 8.0+
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
WT-12846 Corrige cómo el recorrido compacto gestiona EBUSY desde el flush_lock del punto de control
8.0.4 - 9 de diciembre de 2024
SERVIDOR-73641 El filtro de series de tiempo puede perder eventos de rango extendido cuando está fragmentado.
SERVIDOR-82037 La memoria utilizada por los desbordamientos del clasificador puede crecer sin límites
SERVIDOR-94559 Los borrados de mediciones de series de tiempo actualizan el minTime de un bucket.
SERVIDOR-95067 Las inserciones de series de tiempo pueden generar múltiples agrupaciones que hagan referencia al mismo bucket.
SERVIDOR-95724 ReshardingOplogSessionApplication clona la información de sesión applyOps reintentable con admin.$cmd como affectedNamespace
8.0.3 - 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 8.0 y 8.0.1, 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.1
Problemas corregidos:
SERVER-96419 La neutralización incorrecta de bytes nulos puede llevar a sobrelecturas del búfer en MongoDB Server
8.0.1 - 9 de octubre de 2024
Problemas corregidos:
SERVER-76883 Reduce la verbosidad de los registros "El rol no existe" para usuarios externos
SERVIDOR-82221 listCollections y listIndexes deben incluir namespaces pendientes de confirmación
SERVIDOR-94635 Hace que los parámetros de actualización de la sesión sean configurables
SERVIDOR-95244 Las instrucciones de inserción que resultan en una inserción pueden fallar con tassert 9146500 cuando el cliente se conecta directamente a la partición
WT-13409 No se maneja un ret en __txn_checkpoint
8.0.0 - 2 de octubre de 2024
El resto de esta página describe los cambios y las nuevas funcionalidades introducidas en MongoDB 8.0.
Problemas conocidos
Esta sección describe problemas conocidos en MongoDB 8.0 y su estado de resolución.
En la Versión | Problema | Estado |
|---|---|---|
8.0.18, 8.0.19 | SERVIDOR-118428: Los cambios a To avoid this bug, skip these versions when you upgrade mongocryptd or
use the crypt_shared library. | Sin resolver. |
Mejoras en el rendimiento
MongoDB 8.0 introduce mejoras significativas en el rendimiento de MongoDB 7.0, incluyendo, pero no limitándose a:
Hasta un 36% mejor rendimiento de lectura.
Hasta un 32% mejor rendimiento para aplicaciones web típicas.
Escrituras concurrentes hasta un 20% más rápidas durante la replicación.
Nota
La cantidad de mejora del rendimiento puede variar según la configuración de tus cargas de trabajo e instancias de base de datos.
Nuevo comando de escritura masivo
A partir de MongoDB 8.0, se puede utilizar el nuevo comando bulkWrite para realizar muchas operaciones de inserción, actualización y borrado en varias colecciones en una sola solicitud. El método existente db.collection.bulkWrite() solo permite modificar una colección por solicitud.
bulkWrite las operaciones en MongoDB 8.0 pueden ejecutarse hasta un 56% más rápido que las operaciones de guardado masivo en MongoDB 7.0.
Procesamiento de bloques de serie de tiempo
A partir de la versión 8.0, MongoDB puede ejecutar ciertas consultas de series de tiempo mediante procesamiento por bloques. Esta mejora del rendimiento procesa las consultas en "bloques" de datos, en lugar de en valores individuales. El procesamiento de bloques mejora la velocidad de ejecución de las consultas y el rendimiento cuando se trabaja con colecciones de series de tiempo.
En comparación con las queries de series de tiempo ejecutadas en MongoDB 7.0 o versiones anteriores, el procesamiento de bloques para datos de series de tiempo en MongoDB 8.0 puede manejar volúmenes más altos de datos y mejorar el rendimiento en algunos casos en más del 200% para $group operaciones y las query analíticas.
Para ver si su consulta de serie de tiempo utiliza el procesamiento de bloques, verifique el campo explain.queryPlanner.winningPlan.slotBasedPlan.stages en la salida del plan de explicación.
Para aprender más, consulte Procesamiento de bloques.
Actualizaciones de soporte de plataforma
A partir de MongoDB 8.0, las nuevas versiones de MongoDB Server (mayor y menor) son compatibles con la versión menor mínima del sistema operativo (SO) definida por el proveedor del sistema operativo. Una vez que el proveedor del sistema operativo deja de admitir una versión menor del sistema operativo, MongoDB actualiza el MongoDB Server para admitir la siguiente versión menor del sistema operativo. Para obtener más detalles, consulta Mejoras en el soporte de la plataforma MongoDB.
MongoDB 8.0 es compatible con las siguientes versiones mínimas menores del sistema operativo:
Red Hat Enterprise Linux 8.8
Red Hat Enterprise Linux 9.3
SUSE Linux Enterprise Servidor 15 SP5
Amazon Linux 2023 versión 2023.3
Registro
A partir de MongoDB 8.0, puede configurar el perfilador de base de datos para el registro de operaciones lentas en función del tiempo que MongoDB dedica a esa operación, en lugar de la latencia total de la operación. Esto significa que factores como la espera de bloqueos y el control de flujo no afectan si una operación supera el umbral de operación lenta.
Este cambio ofrece las siguientes mejoras para el registro y el análisis de queries:
Los queries lentos se registran con mayor precisión en función del tiempo que MongoDB dedica al procesamiento del query.
Las herramientas de análisis de query, como el perfilador del query, Performance Advisor y Telemetría de consulta de búsqueda, informan de operaciones lentas basadas en
workingMillisen lugar dedurationMillis. Este cambio proporciona una visión más precisa de las queries problemáticas.Los registros de queries lentas incluyen una métrica para el tiempo en cola en los tickets de ejecución,
queues.execution.totalTimeQueuedMicros. Esta métrica ayuda a identificar si una operación es lenta debido al tiempo que tarda en completarse o al tiempo que pasa esperando para comenzar.
Para obtener más información, consulta db.setProfilingLevel().
Database Profiler
Cuando especifiques un filtro para el perfilador de base de datos, podrás registrar operaciones en función de la nueva métrica workingMillis. Puedes registrar las operaciones en función de workingMillis y durationMillis, y establecer cada métrica en un umbral diferente.
Agregación
Conversión de BinData
A partir de MongoDB 8.0, puedes usar el operador $convert para realizar las siguientes conversiones:
String values to binData values
valores de binData a valores de string
MongoDB 8.0 también incluye una nueva expresión asistente, $toUUID, que proporciona una sintaxis simplificada para convertir cadenas a UUID values.
$queryStats
A partir de MongoDB 7.1, la etapa $queryStats devuelve estadísticas para los queries registrados.
Mejoras en el flujo de cambios
A partir de MongoDB 8.0, $queryStats mejora el seguimiento y el reporte de métricas para flujos de cambios. Para obtener más información, consulta Comportamiento de Change Streams $queryStats.
Comportamiento de $rank y $denseRank
A partir de MongoDB 8.0, valores null y valores de campo faltantes en $denseRank y $rank en las operaciones sortBy se tratan de la misma manera al calcular los rankings. Este cambio hace que el comportamiento de denseRank y rank sean coherentes con $sort.
Seguridad
Queries de rango de Queryable Encryption
A partir de MongoDB 8.0, Queryable Encryption admite queries de rango en campos cifrados con los operadores $lt, $lte, $gt y $gte. Para obtener más detalles, consulta Operaciones compatibles con Queryable Encryption. Para activar queries de rango en campos cifrados, consulta Crea un esquema de cifrado.
Esquema OCSF para mensajes de registro
A partir de MongoDB 8.0, se puede especificar el esquema OCSF para los mensajes de registro para auditar. El esquema OCSF proporciona registros en un formato estandarizado compatible con los procesadores de registros.
Para establecer el esquema utilizado para los mensajes de registro, utilice la opción de archivo de configuración auditLog.schema.
Por ejemplo, para ver mensajes de registro en formato OCSF, consulta Mensajes de auditoría de esquema OCSF.
Cola de ingreso
MongoDB 8.0 introduce una nueva cola para el control de admisión de ingreso. Las operaciones que esperan la entrada en la base de datos desde la red ingresan en la cola de entrada. Por defecto, la cola es ilimitada, lo que significa que MongoDB permite que todas las operaciones se ejecuten a través de esta etapa sin ninguna cola. Establecer el máximo de la cola a un valor específico le permite poner operaciones en cola en esta etapa si el número de operaciones concurrentes alcanza el límite especificado.
particionado
A partir de MongoDB 8.0, puedes desfragmentar colecciones y mover colecciones no fragmentadas entre particiones en clústeres fragmentados.
Mover una colección
A partir de MongoDB 8.0, puede mover una colección no fragmentada a otro fragmento usando el comando moveCollection.
Para obtener más información, consulte Colecciones móviles. Para comenzar, consulte Mover una colección.
Mueve colecciones que tienen Change Streams
A partir de MongoDB 8.0, movePrimary no invalida las colecciones de eventos que tienen flujos de cambios. Los flujos de cambios pueden seguir leyendo eventos de las colecciones después de que las colecciones se trasladen a una nueva partición.
Para obtener más detalles, consulte Change Streams.
Desfragmentar una colección
A partir de MongoDB 8.0, se puede desfragmentar las colecciones fragmentadas existentes con el comando unshardCollection o el método sh.unshardCollection(). Esta operación mueve todos los documentos de la colección a un fragmento especificado o al fragmento con la menor cantidad de datos.
Para obtener más información, consulte Colecciones fragmentadas. Para comenzar, consulte Fragmentar una colección.
Fragmentos de configuración
A partir de MongoDB 8.0, puede configurar un servidor de configuración para almacenar los datos de su aplicación además de los metadatos habituales de clústeres fragmentados. Un nodo mongod que proporciona tanto la funcionalidad de servidor de configuración como de servidor de fragmentos se denomina fragmento de configuración. Un nodo mongod que se ejecuta como un --configsvr autónomo sin funcionalidad de servidor de fragmentos se denomina servidor de configuración dedicado.
Para configurar un servidor de configuración dedicado para que funcione como un fragmento de configuración, ejecute el comando transitionFromDedicatedConfigServer.
Para configurar un fragmento de configuración para que funcione como un servidor de configuración dedicado, ejecute el comando transitionToDedicatedConfigServer.
Para más información, consulte Config partición. Para comenzar, consulta Iniciar un clúster con una partición de configuración. Para convertir un set de réplicas en un clúster fragmentado con una partición de configuración, consulta Convertir set de réplicas en una partición de configuración incrustada.
Nuevos comandos de base de datos
Nuevos métodos de mongosh
Métricas de serverStatus
A partir de MongoDB 8.0, serverStatus incluye los siguientes nuevos campos shardingStatistics en su salida:
shardingStatistics.countTransitionToDedicatedConfigServerStartedshardingStatistics.countTransitionToDedicatedConfigServerCompletedshardingStatistics.countTransitionFromDedicatedConfigServerCompleted
MongoDB 7.1 incluye las siguientes nuevas estadísticas de fragmentación para las migraciones de fragmentos:
Fragmentos por partición por defecto
A partir de MongoDB 7.2, cuando realices la partición de una colección vacía con una clave de fragmentación encriptada, la operación crea un fragmento por partición por defecto. Anteriormente, la operación creaba dos fragmentos por defecto.
Rol de operaciones directShard
A partir de MongoDB 8.0, se puede utilizar el rol directShardOperations para realizar operaciones de mantenimiento que requieren ejecutar comandos directamente contra un fragmento.
Advertencia
Ejecutar comandos usando el rol directShardOperations puede hacer que su clúster deje de funcionar correctamente y puede causar corrupción de datos. Utiliza el rol directShardOperations únicamente con fines de mantenimiento o bajo la orientación del soporte de MongoDB. Deja de usar el rol directShardOperations cuando termines de realizar operaciones de mantenimiento.
dbhash Puede ejecutarse directamente en un nodo de un clúster fragmentado
A partir de MongoDB 8.0.5, puede ejecutar dbHash directamente en un fragmento. Para obtener una lista completa de los comandos directos de nodos, consulte Comandos directos de nodos fragmentados.
Cursores de agotamiento activados para clústeres fragmentados
A partir de MongoDB 7.1, mongos brinda soporte para cursores exhaustivos cuando la solicitud getMore de un cliente establece la bandera exhaustAllowed. Esto puede mejorar el rendimiento de los queries en los clústeres fragmentados cuando el cliente recibe varias respuestas del servidor de la base de datos para una única solicitud.
Rango de puertos de mongos
A partir de MongoDB 7.1, mongos acepta valores de --port en el rango de [0, 65535]. Para obtener más información, consulta --port.
Query con clave de fragmentación parcial
A partir de MongoDB 7.1, findAndModify y deleteOne() pueden usar una clave de fragmentación parcial para hacer un query en una colección fragmentada.
Mejoras en la redistribución de fragmentos
MongoDB 8.0 introduce mejoras significativas en el rendimiento de las operaciones de reconfiguración de fragmentos, reduciendo sustancialmente el tiempo que tarda en ejecutarse la operación.
Además, si la aplicación y el clúster cumplen con los requisitos y las limitaciones necesarios, se puede volver a realizar la partición de la colección con la misma clave utilizando el comando reshardCollection para redistribuir la colección, lo cual es mucho más rápido que el procedimiento de migración de rango alternativo.
Se añaden las siguientes opciones al comando:
Campo | Descripción |
|---|---|
| Permite que se vuelva a realizar la partición con la misma clave. |
Para ver ejemplos, consulta Redistribuir datos a nuevas particiones.
Copias de seguridad autogestionadas de clústeres fragmentados
A partir de MongoDB 7.1, los comandos fsync y fsyncUnlock pueden realizar operaciones de fsync en clústeres fragmentados.
Cuando se ejecuta en mongos con el campo lock establecido en true, el comando fsync vacía los elementos guardados de la capa de almacenamiento al disco y bloquea cada fragmento, lo que evita guardados adicionales. Luego, el comando fsyncUnlock puede utilizarse para desbloquear el clúster.
Esta funcionalidad permite copias de seguridad autogestionadas de clústeres particionados utilizando mongodump.
Comportamiento de inserción de UpdateOne en colecciones fragmentadas
A partir de MongoDB 7.1, cuando utilices updateOne() con upsert: true en una colección fragmentada, no necesitas incluir la clave de fragmentación completa en el filtro.
Etapa $lookup en transacciones con colecciones fragmentadas
A partir de MongoDB 8.0, se puede utilizar la etapa $lookup dentro de una transacción mientras se hace el direccionamiento a una colección fragmentada.
Replicación
Nivel de confirmación de escritura de la mayoría
A partir de MongoDB 8.0, las operaciones de escritura que utilizan el nivel de confirmación de escritura "majority" devuelven un reconocimiento cuando la mayoría de los nodos del set de réplicas han escrito la entrada del oplog para el cambio. Esto mejora el rendimiento de las operaciones de escritura "majority". En versiones anteriores, estas operaciones esperaban y devolvían una confirmación después de que la mayoría de los nodos del set de réplicas aplicaran el cambio.
Si su aplicación lee desde una réplica secundaria inmediatamente después de recibir la confirmación de una operación de escritura { w: "majority" } (sin una sesión causalmente coherente), la consulta puede devolver resultados que no incluyan los cambios de la escritura.
Nuevas métricas de replSetGetStatus
A partir de MongoDB 8.0, las siguientes métricas están disponibles al utilizar el comando replSetGetStatus:
Buffers de Oplog
A partir de MongoDB 8.0, los secundarios escriben y aplican entradas del oplog para cada agrupación en paralelo. Un hilo escritor lee nuevas entradas del primario y las escribe en el registro de operaciones local. Un hilo aplicador aplica estos cambios de forma asíncrona a la base de datos local. Este cambio aumenta el rendimiento de la replicación para los secundarios.
Esto introduce un cambio disruptivo para metrics.repl.buffer, ya que ahora proporciona métricas sobre dos búferes en lugar de uno.
MongoDB 8.0 desaprueba las siguientes métricas de estado del servidor:
MongoDB 8.0 incorpora las siguientes métricas de estado del servidor:
TCMalloc mejorado
A partir de MongoDB 8.0, MongoDB utiliza una versión mejorada de TCMalloc que utiliza cachés por CPU, en lugar de cachés por hilo, para reducir la fragmentación de la memoria y hacer que la base de datos sea más resistente a cargas de trabajo de alta presión.
La nueva versión de TCMalloc afecta directamente las recomendaciones de producción anteriores para Transparent Huge Pages. Para obtener más información, consulte Optimización del rendimiento de TCMalloc para una implementación autogestionada.
Métricas de serverStatus
A partir de MongoDB 8.0, las siguientes nuevas métricas de serverStatus informan sobre el uso de tcmalloc:
Cambios generales
Rendimiento del apagado
A partir de MongoDB 8.0, Bulk.insert() y las cargas de trabajo de ingesta de datos pueden rendir mejor. Sin embargo, el apagado de MongoDB inmediatamente después de ejecutar estas cargas de trabajo podría tardar más debido a que los datos extra se vacían en el disco.
Almacena los datos de la aplicación en fragmentos de configuración
A partir de MongoDB 8.0, puedes configurar un servidor de configuración para almacenar datos de aplicaciones además de los metadatos habituales de clúster fragmentado. El servidor de configuración se conoce entonces como un fragmento de configuración. Para obtener más detalles, consulta Fragmentos de configuración.
Mejoras de compactación
A partir de MongoDB 7.3, el comando compact incluye una nueva opción freeSpaceTargetMB para especificar la cantidad mínima de espacio de almacenamiento, en megabytes, que debe ser recuperable para que la compactación pueda proceder.
Compactación en segundo plano
A partir de MongoDB 8.0, puedes utilizar el nuevo comando autoCompact para realizar una compactación en segundo plano. Si se activa la opción, el servidor intenta mantener el espacio libre dentro de cada colección e índice por debajo del valor especificado freeSpaceTargetMB.
Opción dryRun
Si se activa la opción, el comando compact devuelve una estimación de cuánto espacio, en bytes, puede recuperar la compactación de la colección objetivo. Si ejecutas compact con dryRun establecido en true, MongoDB solo devuelve el valor estimado y no realiza ningún tipo de compactación.
Operaciones simultáneas de DDL
A partir de MongoDB 7.1, cuando ejecutas varias operaciones DDL que se dirigen a diferentes colecciones de la misma base de datos, MongoDB ejecuta esas operaciones de manera simultánea.
Este cambio añade dos nuevos tipos al campo serverStatus locks y a la salida currentOp.locks:
DDLDatabaseDDLCollection
Validación de base de datos en los queries de agregación de mongos
A partir de MongoDB 7.2, las consultas de la canalización de agregación que intentan utilizar bases de datos inexistentes en implementaciones de mongos devuelven errores de validación.
En versiones anteriores, estas consultas de agregación devolvían cursores vacíos.
Operaciones de DDL
En MongoDB 8.0, si agregas o remueves un fragmento mientras el clúster ejecuta una operación DDL (operación que modifica una colección, como reshardCollection), cualquier operación que agregue o elimine un fragmento solo se ejecutará después de que la operación DDL simultánea termine.
Códigos de error por superar el límite de tamaño de la pipeline
A partir de MongoDB 7.1, un comando de agregación generará un error cuando una pipeline supere el límite de etapas de la pipeline. Para obtener más detalles, consulta Restricciones de número de etapas.
El campo getField brinda soporte a todas las strings
A partir de MongoDB 7.2, puedes especificar cualquier expresión válida que se resuelva en un string para la entrada field del operador $getField. En versiones anteriores, field solo acepta constantes de string.
Mejores creaciones de índices
A partir de MongoDB 7.1, la creación de índices se mejora con un reporte de errores más rápido y una mayor resiliencia ante fallos. También puedes establecer el espacio mínimo disponible en disco necesario para la creación de índices utilizando el nuevo parámetro indexBuildMinAvailableDiskSpaceMB, que detiene la creación de índices si el espacio en disco es demasiado bajo.
Se agregaron las siguientes nuevas métricas de creación de índices:
Para obtener todos los detalles, consulta Creación de índices.
Nuevos parámetros
auditConfig Parameter
MongoDB 7.1 agrega el parámetro de clúster auditConfig, que incluye información sobre las configuraciones de auditoría de las instancias de servidor mongod y mongos.
Parámetro defaultMaxTimeMS
A partir de MongoDB 8.0, puedes utilizar el parámetro de clúster defaultMaxTimeMS para especificar un límite de tiempo por defecto para que se completen las operaciones de lectura individuales.
indexBuildMinAvailableDiskSpaceMB Parameter
MongoDB 7.1 agrega el parámetro indexBuildMinAvailableDiskSpaceMB, que permite establecer el espacio mínimo disponible en disco necesario para la creación de índices.
tcmallocEnableBackgroundThread Parameter
A partir de MongoDB 8.0, el tcmallocEnableBackgroundThread está activado por defecto. Esto permite a MongoDB liberar periódicamente memoria al sistema operativo.
Nueva forma y configuración del query
MongoDB 8.0 introduce una nueva forma del query. La forma del query preexistente se renombra como la forma del query de la caché del plan.
A partir de MongoDB 8.0, puedes agregar configuraciones de query para la nueva forma del query. El optimizador del query utiliza la configuración del query como una entrada adicional durante la planificación del query, lo que afecta el plan seleccionado para ejecutar un query que tiene una forma del query que coincide.
La configuración del query tiene una funcionalidad mejorada en comparación con los filtros de índice. Los filtros de índice también quedan en desuso a partir de MongoDB 8.0, y debes evitar usarlos.
Para agregar configuraciones de query, utilice el comando
setQuerySettings.Para borrar la configuración del query, utilice el comando
removeQuerySettings.Para recuperar la configuración del query, utiliza una etapa
$querySettingsen una pipeline de agregación.Para bloquear una forma del query, consulta Filtros de rechazo de operación.
Para establecer el nivel de verbosidad del registro de las consultas rechazadas, utilice el parámetro
systemLog.component.query.rejected.verbosity.
A partir de MongoDB 8.0, queryShapeHash se incluye en el siguiente resultado:
Comando
explainen el campoexplain.queryShapeHashperfilador de base de datos en el campo
system.profile.queryShapeHash.$currentOp etapa de la canalización de agregación en el campo
$currentOp.queryShapeHash$queryStatsetapa en el campoqueryShapeHash
A partir de MongoDB 8.0, el campo queryHash existente se duplica en un nuevo campo llamado planCacheShapeHash. Si estás utilizando una versión anterior de MongoDB, solo verás el campo queryHash. Las versiones futuras de MongoDB removerán el campo queryHash obsoleto y deberás utilizar el campo planCacheShapeHash en su lugar.
Se ha eliminado la opción numInitialChunks.
A partir de MongoDB 7.2, la opción numInitialChunks se elimina del comando shardCollection. El servidor crea automáticamente fragmentos en cada fragmento de un clúster cuando utiliza fragmentación encriptada para una colección vacía.
Parameter Filtering
A partir de MongoDB 8.0, el comando getParameter acepta un campo setAt. Puedes utilizar este campo para filtrar el documento de retorno allParameters: true y mostrar solo aquellos parámetros que puedes establecer en el inicio o tiempo de ejecución.
Nivel de consistencia de lectura en colecciones con tamaño fijo
A partir de MongoDB 8.0, puedes usar el nivel de consistencia de lectura "snapshot" en colecciones con tamaño fijo.
Cambio de salida de serverStatus
A partir de MongoDB 7.1, la salida del comando serverStatus incluye las siguientes métricas nuevas:
A partir de MongoDB 7.2, la salida del comando serverStatus incluye las siguientes métricas nuevas:
A partir de MongoDB 7.3, la salida del comando serverStatus incluye las siguientes métricas nuevas:
A partir de MongoDB 8.0, la salida del comando serverStatus incluye las siguientes métricas nuevas:
Opción de ordenación
A partir de MongoDB 8.0, updateOne(), replaceOne() y update tienen un campo opcional sort para ordenar documentos antes de aplicar una actualización.
Las versiones anteriores utilizan los métodos findAndModify() y findOneAndUpdate() para actualizar el primer documento en un orden de clasificación determinado por el usuario. El soporte para escrituras reintentables requiere que estos métodos copien todo el documento en una colección paralela especial para cada nodo, lo cual es una operación más costosa que el método updateOne() con la nueva opción sort.
Especifica sugerencias de índice de query para comandos distintos
A partir de MongoDB 7.1, el campo hint está disponible en el comando distinct, lo que permite especificar el índice de la query.
TTL Indexes
A partir de MongoDB 7.1, puedes crear índices TTL en colecciones con tamaño fijo.
Planificación y ejecución de query
Etapas de query Express
A partir de MongoDB 8.0, un conjunto limitado de queries (incluidas las coincidencias exactas _id) omiten la planificación y ejecución de queries habituales. En cambio, estos queries utilizan un plan de escaneo de índice optimizado que consta de una de estas etapas del plan:
EXPRESS_CLUSTERED_IXSCANEXPRESS_DELETEEXPRESS_IXSCANEXPRESS_UPDATE
Para obtener más información sobre los planes del query, consulta Explicación de resultados.
Salida del plan del query rechazado
A partir de MongoDB 8.0, los planes del query rechazados solo contienen la parte find del query. En versiones anteriores, los planes rechazados podían incluir etapas de agregación como $group. El planificador del query no utiliza esas etapas de agregación para elegir el plan ganador, por lo que el campo rejectedPlans solo incluye la parte del query que se utilizó para elegir el plan ganador.
Este cambio también garantiza que executionStats para los planes rechazados no sean cero. Por lo tanto, ahora puedes ver estadísticas como cuántos documentos o claves examinó un plan rechazado.
Para obtener más información sobre los planes del query rechazados, consulta explain.queryPlanner.rejectedPlans.
Desactivación del motor de ejecución basado en slots
A partir de MongoDB 8.0, MongoDB desactiva automáticamente el motor de ejecución basado en ranuras en colecciones con un índice que tiene un prefijo de ruta encriptada de una ruta no encriptada, donde ambas rutas están en el índice.
Agrupa operaciones de inserción de varios documentos
A partir de MongoDB 8.0, las operaciones de inserción masiva fuera de las transacciones pueden dejar de producir entradas oplog individuales. En cambio, MongoDB suele agrupar las inserciones masivas como una única entrada. El evento de flujo de cambios insert para cada documento tiene el mismo clusterTime.
Este cambio mejora el rendimiento de las operaciones de inserción de varios documentos y elimina el posible atraso de la replicación causado por múltiples escrituras de oplog.
Los proveedores de identidad de OIDC pueden compartir un emisor
A partir de MongoDB 8.0, cuando se definen varios IdP, el parámetro oidcIdentityProviders acepta valores duplicados de issuer mientras que el valor de audience sea único para cada emisor. Esto también está disponible en las versiones 7.3 y 7.0.
Namespaces en subcanalizaciones
A partir de MongoDB 8.0, los namespaces en subcanalizaciones dentro de $lookup y $unionWith se validan para asegurar el uso correcto de los campos from y coll.
Para más información, consulte las subcanalizaciones $lookup y las subcanalizaciones $unionWith.
Tiempo de optimización del planificador de consulta
El método explain() ahora devuelve información sobre el tiempo de optimización del planificador de query. El estado de queryPlanner.optimizationTimeMillis muestra el tiempo en milisegundos que el planificador de query dedicó a las optimizaciones.
Límite de longitud de caracteres para $trim, $ltrim y $rtrim
A partir de MongoDB 8.0.22, la longitud de la string que se proporciona a chars está limitada a 4096 caracteres. Para más detalles, ver $trim Limitaciones.
Procedimientos de actualización
Importante
Compatibilidad de características entre versiones
Para actualizar a MongoDB 8.0 desde una implementación 7.0, la implementación 7.0 debe tener featureCompatibilityVersion configurado en 7.0. Para verificar la versión:
db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
Para actualizar a MongoDB 8.0, se debe consultar las instrucciones de actualización específicas para la implementación de MongoDB:
Si necesitas orientación sobre la actualización a 8.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.
Descargar
Para descargar MongoDB 8.0, dirígete al Centro de descargas de MongoDB.
Importante
Las versiones menores pueden no ser compatibles con algunas funcionalidades, incluyendo Atlas Migración en vivo o mongosync. Si necesitas estas funcionalidades, utiliza una versión principal en su lugar.
Consideraciones para la degradación
Solo se admiten degradaciones de una sola 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 degradar una implementación de la serie 8.0 a una de la serie 7.0. Sin embargo, no se brinda soporte a seguir degradando esa implementación de la serie 7.0 a una implementación de la serie 6.0.
Política de degradación
MongoDB Community Edition no brinda soporte a las degradaciones binarias.
No puede degradar la compatibilidad de características entre versiones de su implementación a o desde una versión de lanzamiento rápido de MongoDB.
Si se actualiza o degrada la compatibilidad de características entre versiones de la implementación, no se podrá degradar la versión binaria de la implementación Enterprise sin asistencia de soporte.