Docs Menu
Docs Home
/ /

Notas de versión de MongoDB 7.0

En esta página, se describen los cambios y las nuevas características introducidas en MongoDB 7.0.

MongoDB 7.0 es una versión principal, lo que significa que es compatible tanto con MongoDB Atlas como con implementaciones on-premises. MongoDB 7.0 incluye los cambios introducidos en las versiones rápidas de MongoDB 6.1, 6.2 y 6.3. Esta página describe los cambios introducidos en esas versiones rápidas y MongoDB 7.0.

Para obtener más información sobre las diferencias entre las versiones principales y rápidas, consulte Control de versiones 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

SERVIDOR-94559

7.0.0 - 7.0.15

7.0.0 - 7.0.2

7.0.0 - 7.0.2

7.0.0 - 7.0.5

7.0.0 - 7.0.5

7.0.0 - 7.0.6

7.0.0 - 7.0.7

7.0.0 - 7.0.15

Importante

MongoDB 7.0.29 contiene una solució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:

Importante

MongoDB 7.0.28 contiene una corrección para CVE-202514847-.

Para obtener la información más reciente sobre las actualizaciones de seguridad de MongoDB, consulte Boletines de seguridad de MongoDB.

Problemas corregidos:

Problemas corregidos:

  • SERVIDOR-77172: El subproceso "abortExpiredTransactions" puede quedarse atascado si no logra abrir una sesión

  • SERVIDOR-89039: soporte para un comando que devuelve después de que se haya iniciado la creación de índices

  • SERVIDOR-92236: Las migraciones de fragmentos deben utilizar fuentes de cancelación de corta duració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.

  • SERVIDOR-:108565 Mejorar el manejo de escrituras de gran tamaño en colecciones de series de tiempo.

  • SERVER-112467: rastrea e informa la cantidad de conexiones proxy pendientes

  • WT-9575: Las páginas con actualizaciones más recientes que el ID de txn más antiguo no se ponen en cola para su desalojo

  • SERVIDOR-:106589 Aprovisione más memoria para las compilaciones de índices durante la sincronización inicial

  • SERVIDOR-:102428 La sincronización inicial lógica asigna el doble maxIndexBuildMemoryUsageMegabytes

  • SERVIDOR-:86591 Mejora del manejo de errores de InitialSync para problemas de red transitorios

  • Todos los problemas de Jira cerrados en 7.0.26.

  • 7.0.26 Registro de cambios

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:

Problemas corregidos:

Problemas corregidos:

Importante

Debido a CVE-2025-10061, en MongoDB 7.0 anterior a 7.0.22, 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

Importante

Una respuesta KMIP malformada puede resultar en una violación de acceso de lectura.

Debido a CVE-2025-12657, en MongoDB 7.0 anterior a 7.0.22, el analizador de respuestas KMIP integrado en los binarios mongo es excesivamente tolerante a ciertos paquetes malformados y puede convertirlos en objetos no válidos. Lecturas posteriores de este objeto pueden provocar infracciones 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:

Problemas corregidos:

  • SERVER-92806: La entrada de caché del plan ignora la intercalación del índice con $elemMatch

  • SERVER-95672 Los índices en campos de arreglo que contienen subarreglos no incluyen algunos resultados.

  • SERVER-97044 Solucionar un problema donde los flujos de cambios podrían generar incorrectamente un evento de “descarte” durante la repartición o anulación de partición de una colección que está o estuvo usando el particionado por zona.

  • WT-12012 Restaurar los niveles originales de verbosidad si gen_drain se desbloquea después de aumentar los niveles de verbosidad.

  • WT-13216: Evalúa el uso de la verificación de desalojo de caché en modo compacto

  • Todos los problemas de Jira cerrados en 7.0.21.

  • 7.0.21 Registro de cambios

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 7.0 anterior 7.0.20 a, el componente de MongoDB Server mongos puede dejar de responder a nuevas conexiones debido al manejo incorrecto de datos incompletos. Este problema afecta a los clústeres fragmentados de MongoDB configurados con compatibilidad con balanceadores de carga para que mongos usan 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:

Importante

MongoDB Server puede ser susceptible a la escalada de privilegios debido a la etapa $mergeCursors

Debido al CVE-2025-6713, en MongoDB 7.0 anterior a la 7.0.19, 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

Problemas corregidos:

  • SERVIDOR-82037 La memoria utilizada por los desbordamientos del clasificador puede crecer sin límites

  • SERVER-90689 Cambiar las verificaciones de advertencia de inicio de THP para que también consideren las configuraciones a nivel de proceso antes de emitir la advertencia.

  • SERVER-95452 Evitar que CollectionRoutingInfoTargeter itere todos los rangos de fragmentos durante actualizaciones y borrados.

  • SERVER-98720 Añadir llamadas a redact() faltantes a los registros de advertencias de “error del ejecutor de plan”.

  • SERVIDOR-100901 Flexibilizar la invariante del resumen del usuario para tassert en ShardingTaskExecutor

  • Todos los problemas de Jira cerrados en 7.0.18.

  • 7.0.18 Registro de cambios

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 7.0 anterior a la versión 7.0.17, 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 7.0 anterior a la versión 7.0.17, 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:

Problemas corregidos:

Importante

La neutralización inadecuada de bytes nulos puede llevar a sobrelecturas de búfer en MongoDB Server.

En MongoDB 7.0 y 7.0.15, 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

Problemas corregidos:

  • SERVER-82814 Soporte para operadores de comparación de expresiones internas al determinar los límites de escaneo de colecciones con índice clusterizado.

  • 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-91625 Activar planes indexados para expresiones con $$NOW, $$CLUSTER_TIME y $$USER_ROLES.

  • WT-12643 Corregir la lógica de recorrido del servidor de desalojos para que pueda desalojar todas las páginas.

  • Todos los problemas de Jira cerrados en 7.0.14.

  • 7.0.14 Registro de cambios

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 CVE-2024-,8013 en MongoDB 7.0 anterior 7.0.12 a, un error en el análisis de consultas de ciertas $lookup subcanalizaciones autorreferenciales complejas puede provocar que los valores literales en expresiones para campos cifrados que se envían al servidor estén mal formados.

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

Problemas corregidos:

Problemas corregidos:

  • SERVER-85279 No ejecutar el colector de estadísticas de colección de FTDC en los árbitros.

  • SERVER-89495 Desactivar los parámetros de prueba incluso cuando no se especifiquen setParameters.

  • SERVER-89625 Gestionar directoryPerDb y wiredTigerDirectoryForIndexes correctamente al informar sobre namespaces y UUID durante una copia de seguridad.

  • SERVER-90288 Los operadores del query a nivel de bits deben interpretar el byte direccionable más bajo en BinData como el byte menos significativo.

  • WT-12609 Mejore la limpieza de los puntos de control y la lógica de desalojo de páginas

  • Todos los problemas de Jira cerrados en 7.0.11.

  • 7.0.11 Registro de cambios

Problemas corregidos:

Problemas corregidos:

Problemas corregidos:

  • SERVER-84368 CreateIndex falla con StaleConfig si se ejecuta desde un mongos obsoleto contra una colección particionada no vacía.

  • SERVER-84628 Advertencia de inicio en mongos por nivel de confirmación de escritura/lectura.

  • SERVER-85459 [v7.0] los nodos aceptan el parámetro bucketRoundingSeconds en compatibilidad de características entre versiones 6.0, binario 7.0.

  • SERVER-85869 Una búsqueda exhaustiva en la partición de configuración puede devolver datos desactualizados.

  • SERVER-87061 Las transacciones multi-documento particionadas pueden observar efectos parciales de la operación de repartición concurrente.

  • Todos los problemas de Jira cerrados en 7.0.7.

  • 7.0.7 Registro de cambios

Importante

La corrección para MongoDB Server podría permitir una conexión no confiable exitosa

Debido a CVE-2024-,1351 en MongoDB 7.0 anterior 7.0.6 a, bajo ciertas configuraciones de y, MongoDB Server puede omitir la validación del certificado de pares, lo que puede provocar que conexiones no confiables tengan --tlsCAFile CAFileé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

Problemas corregidos:

Problemas corregidos:

Problemas corregidos:

Problemas corregidos:

Problemas corregidos:

Problemas corregidos:

El resto de esta página describe los cambios y las nuevas características introducidas en MongoDB 7.0.

Esta sección describe problemas conocidos en MongoDB 7.0 y su estado de resolución.

En versión
Problema
Estado

7.0.29, 7.0.30

SERVIDOR-:118428 Los cambios en mongocryptd limitan el tamaño máximo de los mensajes que mongocryptd puede recibir a 16 KiB. Los usuarios pueden experimentar este problema al enviar comandos de más de 16 KiB mediante cifrado automático a nivel de campo del lado del cliente (CSFLE) o cifrado consultable.

To avoid this bug, skip these versions when you upgrade mongocryptd or use the crypt_shared library.

Irresoluto.

A partir de MongoDB,7.0 puede administrar mongosh los índices de Atlas Search con métodos y comandos de base de datos. Los comandos de índice de Atlas Search solo están disponibles para implementaciones alojadas en MongoDB Atlas y requieren un nivel de clúster de Atlas de al menos M.10

Para administrar los índices de Atlas Search, utilice los siguientes comandos:

Nombre
Descripción

Crea un índice de búsqueda Atlas en una colección específica.

Borra un índice existente de Atlas Search.

Devuelve información sobre los índices de Atlas Search existentes en una colección específica.

Actualiza un índice de búsqueda de Atlas existente.

Nombre
Descripción

Crea uno o más índices de Atlas Search en una colección especificada.

Borra un índice existente de Atlas Search.

Actualiza un índice de búsqueda de Atlas existente.

Nombre
Descripción

Enumera los queries de muestra para todas las colecciones o para una colección específica.

Devuelve información sobre los índices de Atlas Search existentes en una colección específica.

A partir de MongoDB 7.0, los mensajes de registro para consultas lentas incluirán un nuevo campo de tiempo de actualización de caché.

A partir de la versión 7.0, MongoDB utiliza un algoritmo por defecto para ajustar dinámicamente el número máximo de transacciones concurrentes del motor de almacenamiento (incluidos tanto los tickets de lectura como de escritura) para optimizar el rendimiento de la base de datos durante situaciones de sobrecarga.

La siguiente tabla resume cómo identificar escenarios de sobrecarga para MongoDB 7.0 y versiones anteriores:

Versión
Diagnóstico de escenarios de sobrecarga

7.0

Un gran número de operaciones en cola que persisten durante un período de tiempo prolongado probablemente indica una sobrecarga.

La disponibilidad de 0 en una transacción de motor de almacenamiento concurrente (ticket) durante un período prolongado no indica una sobrecarga.

6.0 y anteriores

Un gran número de operaciones en cola que persisten durante un período de tiempo prolongado probablemente indica una sobrecarga.

La disponibilidad de 0 para una transacción (ticket) del motor de almacenamiento concurrente durante un período prolongado probablemente indica una sobrecarga.

Para obtener más información, consulta:

A partir de MongoDB 7.0, el comando currentOp y el método db.currentOp() incluyen estos nuevos campos:

A partir de MongoDB 7.0, la etapa de agregación currentOp incluye estos nuevos campos:

A partir de MongoDB 7.0, se pueden crear índices comodín compuestos. Un índice comodín compuesto tiene un término comodín y uno o más términos de índice adicionales.

Utilice índices comodín compuestos para admitir queries sobre patrones conocidos y para limitar el número total de índices en una colección.

A partir de MongoDB 7.0, si el espacio en disco se está agotando, MongoDB falla las consultas que se derraman en el disco.

A partir de MongoDB 7.0, si tiene eventos de flujo de cambios mayores de 16 MB, puede usar la nueva etapa $changeStreamSplitLargeEvent para dividir los eventos en fragmentos más pequeños.

Las siguientes nuevas métricas informan sobre eventos grandes en flujos de cambio:

serverStatus incluye los siguientes campos nuevos en su resultado:

Métricas de caché de plan
Métricas de queryAnalyzer

A partir de MongoDB 7.0, el motor de ejecución de queries basado en ranuras mejora el rendimiento para un rango más amplio de queries de búsqueda y agregación.

Los mensajes de registro de query lento ahora incluyen un campo queryFramework que indica qué motor de query completó el query:

  • queryFramework: "classic" indica que el motor clásico completó el query.

  • queryFramework: "sbe" indica que el motor de ejecución de queries basado en ranuras completó el query.

A partir de MongoDB 7.0, puede usar la nueva variable del sistema USER_ROLES para devolver los roles del usuario actual.

Para los casos de uso que incluyen USER_ROLES, consulte los ejemplos de find, aggregation, view, updateOne, updateMany y findAndModify.

Disponible a partir de MongoDB 7.0 (y 6.3.2, 6.0.6 y 5.0.18).

MongoDB incluye las siguientes nuevas estadísticas de particionado para las migraciones de fragmentos:

totalOplogSlotDurationMicros en el mensaje de registro de query lenta muestra el tiempo entre que una operación de escritura recibe una marca de tiempo para confirmar las escrituras del motor de almacenamiento y la confirmación real. mongod admite escrituras paralelas. Sin embargo, confirma operaciones de escritura con marcas de tiempo de confirmación en cualquier orden.

Para aprender más, consulte el Registro de operaciones lentas.

MongoDB 7.0 añade los siguientes parámetros relacionados con el comando analyzeShardKey:

MongoDB 7.0 añade el parámetro autoMergerIntervalSecs que, cuando AutoMerger está activado, especifica la cantidad de tiempo entre las rondas de fusión automática, en segundos. autoMergerIntervalSecs solo puede establecerse en los servidores de configuración de clústeres particionados.

MongoDB 7.0 añade autoMergerThrottlingMS que, cuando AutoMerger está activado, especifica la cantidad mínima de tiempo entre las fusiones iniciadas por AutoMerger en la misma colección, en milisegundos. autoMergerThrottlingMS solo puede establecerse en los servidores de configuración de clústeres particionados.

MongoDB 7.0 añade el parámetro balancerMigrationsThrottlingMs que le permite limitar la tasa de equilibrio.

MongoDB 7.0 añade el parámetro enableDetailedConnectionHealthMetricLogLines que le permite especificar si un conjunto de mensajes de registro relacionados con las métricas de estado de la conexión del clúster aparece en el registro.

MongoDB 7.0 añade el parámetro oidcIdentityProviders que permite especificar configuraciones del proveedor de identidad (IDP) al utilizar la autenticación OpenID Connect.

MongoDB 7.0 añade los siguientes parámetros relacionados con el comando configureQueryAnalysis:

A partir de MongoDB 7.0, Queryable Encryption con consultas de igualdad está disponible de forma general (GA). Las mejoras en la GA lo hacen incompatible con la vista previa pública de Queryable Encryption, que no debe usarse ahora que la característica es GA. Para más detalles, consulta Cambios de compatibilidad en MongoDB 7.0.

MongoDB 7.0 (y 6.0.6) añade la configuración useLegacyProtocol. Esta configuración permite que los servidores de MongoDB se conecten a servidores KMIP que usan el protocolo KMIP versión 1.0 o 1.1.

A partir de MongoDB 7.0 y 6.0.7, MongoDB admite OpenSSL 3.0 y el proveedor FIPS de OpenSSL con estos sistemas operativos:

  • Red Hat Enterprise Linux 9

  • Amazon Linux 2023

  • Ubuntu Linux 22.04

Para obtener más información, consulte TLS/SSL (Cifrado de Transporte).

A partir de la versión 7.0, MongoDB Enterprise proporciona soporte para la autenticación OpenID Connect. OpenID Connect es una capa de autenticación compilada sobre OAuth2. Puede usar OpenID Connect para configurar el inicio de sesión único entre su base de datos MongoDB y un proveedor de identidad externo.

Nuevos operadores:

Nombre
Descripción

Devuelve una aproximación de la mediana, el percentil 50, como un valor escalar.

Este operador puede utilizarse como acumulador y como expresión de agregación.

Devuelve un arreglo de valores escalares que corresponden a los valores de percentil especificados.

Este operador puede utilizarse como acumulador y como expresión de agregación.

MongoDB 7.0 añade los siguientes especificadores de formato para usar con el operador $dateToString:

Especificadores
Descripción
Possible Values

%b

Nombre del mes abreviado (3 letras)

jan-dec

%B

Nombre completo del mes

january-december

MongoDB 7.0 remueve la mayoría de las limitaciones de las series de tiempo de estas operaciones que se basan en el comando delete:

A partir de MongoDB 7.0, el comando checkMetadataConsistency está disponible para verificar las inconsistencias en los metadatos de particionado a nivel de clúster, base de datos y colección. Estas inconsistencias pueden originarse en casos como:

  • Actualizaciones en casos donde se produjo un error con el clúster mientras se ejecutaban versiones anteriores de MongoDB

  • Intervenciones manuales que corrompen el catálogo del clúster

Los siguientes métodos asistentes ahora están disponibles a través de mongosh:

Para obtener más información sobre las inconsistencias que verifica el comando, consulta los Tipos de Inconsistencias.

A partir de MongoDB 7.0, el comando mergeAllChunksOnShard encuentra y fusiona todos los fragmentos fusionables que posee una partición para una colección determinada.

A partir de MongoDB 7.0, el AutoMerger puede fusionar automáticamente los fragmentos que cumplen con los requisitos de fusión. El AutoMerger está activado por defecto.

A partir de MongoDB 7.0, puede utilizar los siguientes métodos para controlar el comportamiento de AutoMerger:

A partir de MongoDB 7.0, el comando configureCollectionBalancing acepta el parámetro enableAutoMerger. Utilice enableAutoMerger para establecer si el AutoMerger tiene en cuenta esta colección.

MongoDB 7.0 remueve el documento operationsBlockedByRefresh que contiene estadísticas sobre operaciones bloqueadas por la actividad de actualización de la caché del catálogo porque los contadores operationsBlockedByRefresh aumentaban en mongos para cada operación que utilizaba información de enrutamiento de la colección, incluso si la operación no estaba bloqueada por una actividad de actualización del catálogo.

MongoDB 7.0 añade el comando analyzeShardKey y el método db.collection.analyzeShardKey(), que permiten calcular métricas para evaluar una clave de partición.

MongoDB 7.0 añade el comando configureQueryAnalyzer, que permite configurar el muestreo de query para una colección. MongoDB 7.0 también añade el db.collection.configureQueryAnalyzer(), que encapsula el comando configureQueryAnalyzer. Los queries de muestra proporcionan información a analyzeShardKey para calcular métricas sobre la distribución de lectura y escritura de una clave de partición.

MongoDB 7.0 remueve el soporte para RHEL 7/CentOS 7/Oracle 7 en las arquitecturas PPC64LE y s390x.

MongoDB 6.3 introduce los siguientes operadores de agregación:

Operador
Descripción

Devuelve el resultado de una operación de and bit a bit en un arreglo con los valores int o long.

Devuelve el resultado de una operación bit a bit not en un único argumento o un arreglo que contiene un único valor int o long.

Devuelve el resultado de una operación de or bit a bit en un arreglo con los valores int o long.

Devuelve el resultado de una operación bit a bit xor (o exclusivo) en un arreglo de valores de int y long.

A partir de MongoDB 6.3, se agrega un mensaje al registro si el tiempo que una operación esperó entre la adquisición de una conexión al servidor y la escritura de los bytes para enviar al servidor a través de la red supera 1 milisegundo. Para obtener más detalles, consulta el mensaje de registro de adquisición de conexión a cable.

A partir de MongoDB 6.3, el comando connPoolStats tiene estos cambios en la salida:

Documento
Campo(s)

Rangos de tiempo con la cantidad de solicitudes de conexión en cada rango. Cantidad total de solicitudes de conexión para todos los rangos de tiempo.

A partir de MongoDB 6.3, la explain salida para la etapa $group incluye nuevas métricas sobre los datos de desbordamiento cuando se utiliza el motor de ejecución clásico:

  • spillFileSizeBytes, el tamaño del archivo de volcado escrito en el disco en la etapa $group

  • numBytesSpilledEstimate, estimación del número de bytes escritos en el disco en la etapa $group antes de la compresión

Para obtener más detalles, consulte $sort y $group Etapas.

A partir de MongoDB 6.3, el comando serverStatus y el método db.serverStatus() tienen estos cambios en la salida:

A partir de MongoDB 6.3, se agrega un mensaje al registro si el tiempo para enviar una respuesta a la operación supera la opción de umbral de ralentización. Para obtener más información, consulta Mensaje de registro del flujo de trabajo de la sesión.

A partir de MongoDB 6.3, se añadieron estos parámetros del servidor:

MongoDB 6.3 agrega los siguientes parámetros de series de tiempo:

  • bucketMaxSpanSeconds establece el tiempo máximo entre mediciones en un bucket.

  • bucketRoundingSeconds establece el intervalo de tiempo que determina la marca de tiempo de inicio de un nuevo bucket.

A partir de MongoDB 6.3, el comando compact funciona con colecciones de series de tiempo.

A partir de MongoDB 6.3, MongoDB genera automáticamente un índice compuesto en los campos metaField y timeField al crear una colección de series de tiempo.

A partir de MongoDB 6.2, el comando validate y el método db.collection.validate():

  • Revise las colecciones para asegurarse de que los documentos BSON cumplan con las especificaciones de BSON.

  • Revisa las colecciones de series de tiempo para detectar inconsistencias internas en los datos.

  • Ten una nueva opción checkBSONConformance que habilite comprobaciones completas de BSON.

A partir de MongoDB 6.2, los siguientes comandos de base de datos quedan obsoletos:

Utilice las etapas de agregación $collStats y $currentOp en su lugar.

A partir de MongoDB 6.2, la salida del comando serverStatus incluye estos campos nuevos:

A partir de MongoDB 6.2, el comando serverStatus y el método db.serverStatus() informan la métrica opLatencies para las instancias de mongos. Las latencias reportadas por mongos incluyen el tiempo de latencia de la operación y el tiempo de comunicación entre las instancias mongod y mongos.

A partir de MongoDB 6.2, mongod agrega estos parámetros:

A partir de la versión 6.2, MongoDB remueve el campo maxSize del comando addShard. Como resultado:

  • Ejecutar addShard con el campo maxSize devuelve un error InvalidOptions.

  • Los nuevos documentos en la colección shards ya no incluyen el campo maxSize.

  • Se ignoran todas las entradas de campo maxSize preexistentes.

A partir de MongoDB 6.1, las etapas de agregación $addFields y $set permiten establecer rutas a objetos vacíos sin utilizar la expresión $literal.

MongoDB 6.1 agrega los siguientes eventos de auditoría del clúster:

A partir de MongoDB 6.1, el evento de auditoría de inicio tiene esta estructura:

{
originalClusterServerParameter: <original parameter value>,
updatedClusterServerParameter": <new parameter value>
}

Para obtener más detalles, consulta Acciones del evento de auditoría, detalles y resultados.

A partir de MongoDB 6.1, los datos en clústeres particionados se distribuyen según el tamaño de los datos en lugar de la cantidad de fragmentos. Por lo tanto, debes tener en cuenta los siguientes cambios significativos en el comportamiento de la distribución de datos del clúster particionado:

  • 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.

  • moveRange ha reemplazado a moveChunk.

A partir de MongoDB 6.1, el registro en la bitácora siempre está habilitado. Como resultado, MongoDB remueve la opción storage.journal.enabled y las opciones de línea de comandos --journal y --nojournal correspondientes.

A partir de MongoDB 6.1, el comando currentOp y el método db.currentOp() han ampliado la salida para la redistribución de fragmentos.

Las operaciones de redistribución pueden involucrar múltiples instancias de MongoDB que pueden desempeñar diferentes roles en la operación de redistribución. La operación particular y el rol que desempeña la instancia host en el proceso de redistribución determinan cuándo se actualiza cada métrica.

Métrica
Rol registrado
Descripción

opStatus

Eliminado.

desc

Todo

Describe la acción realizada. El valor es uno de los siguientes:

  • Servicio de donación de reenvío<UUID de operación><operationUUID>

  • Servicio de destinatario de reenvío<UUID de operación><operationUUID>

  • Servicio de coordinación de fragmentación<UUID de operación><operationUUID>

Para $currentOp, el UUID del comando se agrega al documento de estado de cada rol.

op

Todo

Esta métrica tiene un valor constante: "command".

ns

Todo

El namespace para el índice redistribuido. El valor es un string en la forma: <database>.<collection>.

originatingCommand

Todo

Un documento que enumera las opciones de comando para la operación.

donorState

Donante

El estado actual de la máquina de estados del rol.

coordinatorState

Coordinador

El estado actual de la máquina de estados del rol.

recipientState

Destinatario

El estado actual de la máquina de estados del rol.

aproxDocumentosParaCopiar

Destinatario

La cantidad de documentos en la colección de origen.

documentsCopied

Destinatario

La cantidad de documentos ya copiados.

approxBytesToCopy

Destinatario

El tamaño total en bytes de los documentos en la colección de origen.

bytesCopied

Destinatario

El número de bytes copiados. Cuando se completa la redistribución, este valor es similar al valor de approxBytesToCopy.

oplogEntriesFetched

Destinatario

El número de entradas del oplog escritas en la colección de búfer del oplog.

oplogEntriesApplied

Destinatario

El número de entradas del oplog aplicadas desde la colección de búfer del oplog.

insertsApplied

Destinatario

La cantidad de inserciones aplicadas a la colección temporal de refragmentación. Cada entrada de oplog que implica una inserción incrementa el contador en uno.

updatesApplied

Destinatario

La cantidad de actualizaciones aplicadas a la colección temporal de redistribución. Cada entrada de oplog que implica una actualización incrementa el contador en 1.

deletesApplied

Destinatario

La cantidad de eliminaciones aplicadas a la colección temporal de redistribución. Cada entrada de oplog que implica una eliminación incrementa el contador en uno.

Tiempo total de operación en segundos transcurridos

Todo

La cantidad de segundos desde que se inició la operación.

totalCopyTimeElapsedSecs

Destinatario

La cantidad de segundos dedicados a la clonación.

totalCopyTimeElapsedSecs

Coordinador

El número máximo de segundos que un destinatario podría haber pasado clonando.

totalApplyTimeElapsedSecs

Destinatario

La cantidad de segundos dedicados a aplicar cambios.

totalApplyTimeElapsedSecs

Coordinador

El número máximo aproximado de segundos que un destinatario podría haber dedicado a aplicar cambios.

totalCriticalSectionTimeElapsedSecs

Destinatario

La cantidad de segundos transcurridos en la sección crítica.

totalCriticalSectionTimeElapsedSecs

Coordinador

La cantidad de segundos que se podría haber mantenido la sección crítica.

Tiempo de operación restante estimado en segundos

Destinatario

La cantidad estimada de segundos hasta que la operación se complete.

Tiempo de operación restante mínimo de todos los fragmentos, segundos estimados

Coordinador

Calculada en todas las particiones, la estimación más baja de la cantidad de segundos que quedan.

Tiempo de operación restante más alto de todos los fragmentos, segundos estimados

Coordinador

Calculado en todos los fragmentos, la estimación más alta del número de segundos que quedan.

contarEscriturasEnColeccionesAlijo

Destinatario

La cantidad de operaciones de escritura en las colecciones de reserva de los destinatarios.

contarEscriturasDuranteSecciónCrítica

Donante

La cantidad de intentos de guardado durante la sección crítica del donante.

contarLecturasDuranteSecciónCrítica

Donante

La cantidad de intentos de lecturas durante la sección crítica del donante.

A partir de MongoDB 6.1:

  • Para mejorar la eficiencia, MongoDB puede agrupar la eliminación de múltiples documentos.

  • Los resultados explain del comando contienen una nueva BATCHED_DELETE etapa para la eliminación de documentos agrupados.

Expresiones regulares compatibles con Perl (PCRE) es la biblioteca que MongoDB utiliza para implementar la coincidencia de patrones con expresiones regulares. A partir de la 6.1 versión, MongoDB actualiza la biblioteca PCRE a2 PCRE. PCRE2 es la biblioteca actual de PCRE y se mantiene y actualiza constantemente.

Para aprender a realizar coincidencias regex en MongoDB, consulte las siguientes páginas:

A partir de MongoDB 6.1, si tanto el primer como el segundo intento de una escritura reintentable fallan sin que se realice ni una sola escritura, MongoDB devuelve un error con la etiqueta NoWritesPerformed.

La etiqueta NoWritesPerformed diferencia los resultados de operaciones de agrupación como insertMany(). En una operación insertMany, puede ocurrir uno de los siguientes resultados:

Resultado
Salida de MongoDB

No se han insertado documentos.

Error devuelto con la etiqueta NoWritesPerformed.

Trabajo parcial completado. (Se ha insertado al menos un documento, pero no todos.)

Error devuelto sin la etiqueta NoWritesPerformed.

Se insertan todos los documentos.

Éxito devuelto.

Las aplicaciones pueden utilizar la etiqueta NoWritesPerformed para determinar de manera definitiva que no se insertaron documentos. Este reporte de errores permite que la aplicación mantenga un estado preciso de la base de datos al manejar escrituras reintentables.

En versiones anteriores de MongoDB, se devuelve un error cuando fallan tanto el primer como el segundo intento de una escritura reintentable. Sin embargo, no se hace ninguna distinción para indicar que no se realizaron las escrituras.

A partir de MongoDB 6.1, hay nuevas métricas disponibles para la redistribución. La salida de los siguientes comandos ha cambiado:

A partir de MongoDB 6.1, MongoDB agrega los siguientes parámetros nuevos:

A partir de MongoDB 6.1, el comando serverStatus y el método db.serverStatus() tienen estos cambios en la salida:

resharding.remainingOperationTimeEstimatedMillis se reemplaza por:

  • oplogApplierApplyBatchLatencyMillis

  • collClonerFillBatchForInsertLatencyMillis

En raras circunstancias, una escritura puede fallar debido a la presión de la caché. Cuando esto sucede, MongoDB emite un error TemporarilyUnavailable e incrementa el contador temporarilyUnavailableErrors en dos lugares: el registro de consultas lentas y la Captura de datos de diagnóstico a tiempo completo (FTDC).

Las operaciones individuales dentro de transacciones multi-documento nunca devuelven errores TemporarilyUnavailable.

Ajuste las propiedades de reintento de guardado modificando los parámetros temporarilyUnavailableBackoffBaseMs y temporarilyUnavailableMaxRetries.

A partir de MongoDB 6.1, puede usar la opción *UCP para queries regex. La opción *UCP coincide con caracteres no ASCII (específicamente, la opción puede coincidir con caracteres UTF-8). Sin embargo, la opción *UCP da como resultado un query más lento que uno sin la opción especificada.

Para un ejemplo que use la opción *UCP, vea Ampliar las opciones de expresiones regulares para coincidir con caracteres fuera de ASCII.

Importante

Compatibilidad de características entre versiones

Para actualizar a MongoDB 7.0 desde una implementación 6.0, la implementación 6.0 debe tener featureCompatibilityVersion establecido en 6.0. Para verificar la versión:

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

Para actualizar a MongoDB 7.0, consulte las instrucciones de actualización específicas para su implementación de MongoDB:

Si necesitas orientación sobre la actualización a 7.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.

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, puede degradar una implementación de la serie 7.0a una de la serie 6.0. Sin embargo, no se admite degradar esa implementación de la serie 6.0a una de la serie 5.0.

A partir de MongoDB 7.0:

  • MongoDB Community Edition ya no brinda soporte a las degradaciones binarias.

  • No puedes rebajar la compatibilidad de características entre versiones de tu implementación a ni desde una versión release rápido de MongoDB.

  • El comando setFeatureCompatibilityVersion requiere un parámetro adicional, confirm, que debe establecerse en true para actualizar o degradar la compatibilidad de características entre versiones.

  • Si actualizas o degradas la compatibilidad de características entre versiones de tu implementación, no puedes degradar la versión binaria de tu implementación para empresas sin asistencia de soporte.

MongoDB 7.0 incluye características que no son compatibles con versiones anteriores. Para cambiar de la versión 7.0 a una versión anterior, se deben remover los datos que utilizan estas características.

Para obtener más información, consulte Características incompatibles con versiones anteriores.

Para descargar MongoDB 7.0, dirígete al Centro de descargas de MongoDB.

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.

Volver

Notas de versión del servidor

En esta página