Versiones de parches
9.0.3 - Próximamente
Problemas corregidos:
SERVIDOR-127745 Interbloqueo del servicio receptor de refragmentación en reducción rápida y posterior aumento
SERVER-131625 Agregar soporte para Ubuntu 26.04 para Server.
SERVER-132638 count with limit 0 falla en una vista pero funciona en una colección
SERVER-133518 StepUp se bloquea cuando una operación de fragmento en memoria obsoleta impide la recuperación de un destinatario persistente.
SERVER-133988 Interbloqueo entre la inicialización de la fragmentación, la confirmación de la migración de fragmentos y setFCV.
9.0.2 - Septiembre 28, 2026
Problemas corregidos:
SERVIDOR-134970 Deshabilitar featureFlagChangeStreamOptimizedUpdateLookup
SERVIDOR-135099 Deshabilitar la función de bandera IFR featureFlagChangeStreamReaderV2
SERVIDOR-134533 El inicio del drenaje de fragmentos durante movePrimary puede causar inconsistencias en los metadatos.
SERVIDOR-134808 UTF-8 no válido. Los nombres de bases de datos no se manejan correctamente.
9.0.1 - Septiembre 28, 2026
Esta versión contiene importantes mejoras de seguridad y confiabilidad.
Importante
MongoDB 9.0.1 contiene una corrección para:
Para obtener la información más reciente sobre las actualizaciones de seguridad de MongoDB, consulte los boletines de seguridad de MongoDB.
Problemas corregidos:
SERVER-134063 Constantes del validador de la colección Shred durante el análisis
9.0.0 - Septiembre 28, 2026
Cambios generales
Métricas de preimagen de flujo de cambios
A partir de MongoDB 9.0, las métricas changeStreamPreImages.purgingJob.docsDeleted y changeStreamPreImages.purgingJob.bytesDeleted serverStatus pueden mostrar estimaciones en lugar de valores exactos. Estas estimaciones se producen cuando no se dispone de información sobre el tamaño y el recuento de la colección config.system.preimages. Para más detalles, consulte changeStreamPreImages.
MongoDB 9.0 también agrega un nuevo documento changeStreamPreImages.markerCreation serverStatus. Este documento informa métricas relacionadas con las pasadas de muestreo de preimágenes que construyen la información de truncamiento inicial utilizada para eliminar las preimágenes. Para obtener más detalles, consulte changeStreamPreImages.
LÃmite de transacciones con múltiples documentos
A partir de MongoDB 9.0, el servidor limita el número de transacciones multidocumento abiertas simultáneamente para clientes externos. Cuando el número de transacciones abiertas alcanza el lÃmite establecido por el parámetro maxConcurrentMultiDocumentTransactions (valor predeterminado 10000), el servidor rechaza nuevas transacciones multidocumento y devuelve un error TooManyOpenTransactions. Para obtener más información, consulte maxConcurrentMultiDocumentTransactions.
LÃmite de memoria por operación
A partir de MongoDB 9.0, MongoDB limita la cantidad total de memoria que puede usar una sola operación de consulta. Por defecto, el lÃmite es de 1 gigabytes o 20 % de la memoria disponible para el proceso del servidor, lo que sea mayor. Las operaciones que superan el lÃmite fallan con ExceededMemoryLimit o QueryExceededMemoryLimitNoDiskUseAllowed. En versiones anteriores, una operación podÃa usar una cantidad ilimitada de memoria.
El lÃmite de memoria de 100 megabytes por etapa y el comportamiento de escritura en disco de las etapas individuales permanecen sin cambios. Para obtener más información, consulte LÃmite de memoria por operación.
JavaScript del lado del servidor
A partir de MongoDB 9.0, las funciones JavaScript del lado del servidor ($accumulator, $function y $where) ya no están obsoletas. MongoDB 9.0 vuelve a habilitar estas funciones mediante un motor JavaScript basado en WebAssembly (WASM), lo que mejora la seguridad gracias a un aislamiento y una gestión de entornos aislados más robustos que en versiones anteriores. Estas funciones habÃan sido declaradas obsoletas en MongoDB 8.0.
JavaScript del lado del servidor no está disponible en la arquitectura ppc64le. Para obtener más información,consulte JavaScript del lado del servidor.
Estado del servidor
MongoDB 9.0 agrega las siguientes métricasserverStatus:
Métricas de estado del servidor renombradas
MongoDB 9.0 cambia el nombre del documento shardingStatistics.databaseVersionUpdateCounters, introducido en MongoDB 8.3,ashardingStatistics.databaseShardingMetadataStatistics. MongoDB 9.0 también reemplaza los campos del documento renombrado con un nuevo conjunto de métricas.
MongoDB 9.0 cambia el nombre de la métrica metrics.changeStreams.showExpandedEvents a metrics.changeStreams.option.showExpandedEvents. Si monitorea la métrica por su nombre, actualice su monitoreo para usar el nuevo nombre.
Nuevos parámetros
sessionCatalogPartitions Parameter
MongoDB 9.0.1 agrega el parámetro sessionCatalogPartitions, que especifica el número de particiones en el catálogo de sesiones. La partición del catálogo de sesiones reduce la contención de bloqueos cuando hay un gran número de sesiones.
particionado
checkMetadataConsistency Tipos de incoherencias
MongoDB 9.0 agrega los siguientes tipos de inconsistencia checkMetadataConsistency:
MongoDB 9.0 elimina el tipo de inconsistencia ShardCatalogCacheCollectionMetadataMismatch.
checkMetadataConsistency Umbral de verificación de fragmentos
MongoDB 9.0 añade la opción performStrictChunkChecksIfBelowThreshold al comando checkMetadataConsistency. Esta opción permite establecer un umbral de recuento de fragmentos para la comparación de fragmentos de una partición. Si el umbral es inferior, el comando realiza una comparación completa. Si es igual o superior al umbral, realiza una comparación más sencilla, que solo cuenta los fragmentos. Para más detalles, consulte Umbral de comprobación de fragmentos.
Espacio de nombres del cursor en las respuestas de comandos
A partir de MongoDB 9.0, cuando se ejecuta un comando find, aggregate o listIndexes en una colección de series temporales, el campo cursor.ns de la respuesta devuelve el espacio de nombres visible para el usuario al que se dirigió originalmente. En versiones anteriores, el servidor podÃa devolver el espacio de nombres interno.
Validación BSON
MongoDB 9.0 deja de usar la opción de configuración net.wireObjectCheck y sus argumentos CLI correspondientes --objcheck y --noobjcheckand. A partir de 9.0, MongoDB valida todos los objetos BSON que el servidor ingiere por defecto. Si el servidor recibe datos BSON no válidos, MongoDB devuelve un error.
Validación de documentos
MongoDB 9.0 introduce un nuevo nivel de validación de esquema: constraint. Con el nivel de validación constraint, MongoDB aplica las reglas de validación a todas las inserciones y actualizaciones de documentos, y garantiza que cada documento de la colección cumpla con dichas reglas. Para más detalles, consulte Especificar la validación de restricciones.
Métodos de particionado
MongoDB 9.0 introduce los siguientes métodosmongosh:
Time Series
Nota
Al actualizar a 9.0, los clústeres con más de 5,000 colecciones de series temporales en una sola base de datos pueden tardar más en actualizarse y experimentar picos adicionales de latencia de escritura. Para reducir este impacto, elimine las colecciones de series temporales innecesarias.
Almacenamiento de datos
A partir de 9.0, MongoDB almacena las colecciones de series temporales como un único espacio de nombres que contiene datos de series temporales comprimidos en cubos. Las colecciones de series temporales ya no son vistas no materializadas modificables.
renameCollection
A partir de MongoDB 9.0, puede renombrar colecciones de series temporales con renameCollection.
Agregación
$queryStats Output
MongoDB 9.0 actualiza la salida $queryStats para optimizar la organización de las métricas. Esta actualización incluye los siguientes campos de salida nuevos:
Campo | Descripción |
|---|---|
| Un documento que contiene métricas relevantes para el protocolo de cursor y procesamiento por lotes. |
| Un documento que contiene métricas relevantes para la ejecución de consultas. |
| Un documento que contiene métricas relevantes para el planificador de consultas. |
| Un documento que contiene métricas relevantes para la operación escribe |
Para obtener más información sobre la nueva estructura de salida, consulte la sección Salida de $queryStats.
Soporte de mando
A partir de 9.0, MongoDB recopila e informa estadÃsticas de consulta para los comandos update, insert y delete. Para obtener más información, consulte Actualizar la forma de consulta de comandos, Insertar la forma de consulta de comandos y Eliminar la forma de consulta de comandos.
EstadÃsticas de consulta habilitadas por defecto
A partir de MongoDB, 9.0 y $queryStats recopilan estadÃsticas de forma predeterminada para las operaciones de lectura y escritura. MongoDB recopila estadÃsticas para una muestra de operaciones en lugar de para cada una. MongoDB muestrea las operaciones de lectura a la tasa establecida por el parámetro internalQueryStatsSampleRate y las operaciones de escritura a la tasa establecida por el parámetro internalQueryStatsWriteCmdSampleRate. Ambos parámetros tienen un valor predeterminado de 0.01, que muestrea el 1% de las operaciones.
Dado que $queryStats informa únicamente de las operaciones que MongoDB muestrea, su resultado representa un subconjunto de las operaciones ejecutadas en su implementación.
languaje del query
Configuración de consulta como un campo de comando
A partir de MongoDB 9.0, puede pasar un documento querySettings directamente a los siguientes comandos:
Estos ajustes se aplican únicamente a esa ejecución del comando. MongoDB no almacena los ajustes en el clúster ni los aplica a otras consultas con la misma estructura.
En versiones anteriores, solo se podÃan configurar los ajustes de consulta con el comando setQuerySettings, que almacenaba la configuración en el clúster y la aplicaba a todas las consultas con la misma forma.
Si una forma de consulta tiene configuraciones de clúster almacenadas, MongoDB combina esas configuraciones con las que se pasan en el comando. Si ambas especifican el mismo campo, la configuración de clúster almacenada tiene prioridad.
Perillas de consulta
Nuevo en la versión 9.0.
A partir de MongoDB 9.0, puede anular los parámetros internos del servidor para una única forma de consulta con la configuración de consulta queryKnobs. La configuración queryKnobs requiere la versión de compatibilidad de caracterÃsticas (FCV) 9.0 o posterior.
Para obtener más detalles, consulte la sección de Controles de consulta.
Por forma maxTimeMS
Nuevo en la versión 9.0.
A partir de MongoDB 9.0, puede establecer un lÃmite de tiempo maxTimeMS para una única forma de consulta con el comando setQuerySettings. La configuración de consulta maxTimeMS requiere la versión de compatibilidad de caracterÃsticas (FCV) 9.0 o posterior.
Para obtener más detalles, consulte los campos de comandos.
Comparaciones nulas en trazados punteados
A partir de MongoDB 9.0, una ruta con puntos que no se resuelve en un valor no nulo se evalúa como null. El nuevo comportamiento se aplica cuando un campo en la ruta contiene una matriz vacÃa, una matriz de valores escalares o una matriz que contiene una matriz anidada. Las comparaciones con null que utilizan los operadores $eq, $ne, $in, $nin, $gte y $lte reflejan la nueva semántica. La coincidencia de igualdad en la etapa $lookup también refleja la nueva semántica. Las consultas que comparan una ruta con puntos con null pueden devolver resultados diferentes después de la actualización. Para obtener más detalles, consulte Cambios de compatibilidad en MongoDB 9.0.
Seguridad
Consulta de prefijo, sufijo y subcadena de cifrado consultable. Disponibilidad general.
MongoDB 9.0 marca la disponibilidad general de las consultas de prefijo, sufijo y subcadena en campos de cadena cifrados en colecciones con cifrado consultable habilitado. Para obtener más información, consulte la sección sobre cómo habilitar las consultas de subcadena y las expresiones de agregación compatibles.
Para usar consultas de prefijo, sufijo o subcadena con mongosh, debe descargar por separado la Biblioteca compartida de cifrado automático 9.0 o posterior, y luego especificar la ruta de la biblioteca a mongosh usando la opción --cryptSharedLibPath.
useInternalAuthzForX509 Parameter
MongoDB 9.0 agrega el parámetro useInternalAuthzForX509. Cuando se establece en true, los clientes que se autentican mediante MONGODB-X509 utilizan la autorización interna, incluso cuando la autorización LDAP está configurada. Para obtener más detalles, consulte useInternalAuthzForX509.
usersInfo authenticatedMechanism Campo
MongoDB 9.0 agrega el campo authenticatedMechanism al comando usersInfo. Este campo de cadena opcional especifica un mecanismo de autenticación para determinar qué backend de autorización usersInfo consulta al buscar información de autorización del usuario. Para obtener más detalles, consulte usersInfo.
mongocryptd Obsoleto
A partir de MongoDB, 9.0 y mongocryptd están obsoletos. En su lugar, utilice la Biblioteca Compartida de Cifrado Automático. Esta biblioteca reemplaza a mongocryptd y no requiere iniciar un proceso independiente. Para obtener más información, consulte Instalar y configurar un componente de análisis de consultas de CSFLE e Instalar y configurar un componente de análisis de consultas.
Mejoras en el registro de auditorÃa
MongoDB 9.0 agrega el campo directRemote para auditar los mensajes en el esquema mongo y el campo direct_endpoint para auditar los mensajes en el esquema OCSF. Estos campos registran el par TCP literal para una sesión, independientemente de cualquier dirección de cliente que indique el encabezado del protocolo PROXY. Para obtener más detalles, consulte Mensajes de auditorÃa de esquema de Mongo y Mensajes de auditorÃa de esquema de OCSF.
Replicación
Nuevas métricas de replSetGetStatus para el seguimiento de fases
A partir de MongoDB 9.0, las siguientes métricas están disponibles al usar el comando replSetGetStatus durante una sincronización inicial lógica:
Cada documento en initialSyncAttempts también informa sobre phase, nodeUptimeSecs y phaseDurations para ese intento. Para más detalles, consulte replSetGetStatus.initialSyncStatus.initialSyncAttempts.
Diagnósticos
Diagnóstico mejorado para documentos no indexables
A partir de MongoDB 9.0, los fallos de extracción de claves en los Ãndices 2dsphere producen diagnósticos estructurados que facilitan la identificación de documentos no indexables:
Las inserciones geográficas y las compilaciones de Ãndices fallidas ahora incluyen un documento
writeErrors[].errInfoque contiene los camposfailingPath,underlyingCode,underlyingReasonyfailingElement. Los nombres de los campos existentes no han cambiado, pero la cadena de motivo de error ahora está limitada a los caracteres 256.La salida
validate.errorspara errores de extracción de claves geográficas ahora emite un mensaje delimitado y autocontenido, y escribe detalles completos por documento en el registromongod. Los errores idénticos en el mismo Ãndice y ruta se deduplican en un solo mensaje, por lo que para relacionar un error con documentos especÃficos, consulte el registro en lugar de la salidavalidate. Los detalles completos por documento solo se registran cuando la censura de registros está desactivada. Para obtener más información,consultevalidate.
Métricas de Stream de cambio
A partir de MongoDB 9.0, serverStatus informa las siguientes métricas del cursor de flujo de cambios en cada proceso mongod y mongos:
metrics.changeStreams.cursor.open.total, el número de cursores de flujo de cambios actualmente abiertos en el proceso, incluidos los cursores inactivos y anclados.metrics.changeStreams.cursor.open.pinned, el número de cursores de flujo de cambios abiertos que una operación está utilizando activamente.metrics.changeStreams.cursor.totalOpened, el número acumulado de cursores de flujo de cambios abiertos en el proceso, incluidos los cursores que se han cerrado posteriormente y los cursores creados cuando se reanuda un flujo de cambios.metrics.changeStreams.cursor.lifespan, la vida útil promedio, en microsegundos, y el número total de cursores de flujo de cambios que se han cerrado en el proceso.
El comando currentOp y la etapa $currentOp también informan currentOp.cursor.changeStreams.optime, la posición actual del cursor del flujo de cambios en el oplog. Para obtener más información sobre los flujos de cambios, consulte Flujos de cambios de MongoDB.
Problemas conocidos
Esta sección describe problemas conocidos en MongoDB 9.0 y su estado de resolución.
En la Versión | Problema | Estado |
|---|---|---|
9.0.0, 9.0.1, 9.02 | SERVER-133518: Un fragmento puede bloquearse durante la actualización si una operación de fragmento interrumpida durante una actualización anterior impide la recuperación de un receptor de migración persistente. Si se produce el bloqueo, el fragmento no puede convertirse en primario y las operaciones de lectura y escritura con preferencia de lectura primaria dejan de estar disponibles en el fragmento. Los nodos secundarios pueden seguir atendiendo las lecturas. Para recuperarse, reinicie o fuerce la terminación del nodo bloqueado para que otro nodo secundario pueda convertirse en primario con capacidad de escritura. | Corregido en MongoDB 9.0.3. |