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 aprender más sobre las diferencias entre las versiones Major y Rapid, consulta MongoDB Versioning.
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 |
|---|---|
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.12 | |
7.0.0 - 7.0.15 |
Versiones de parches
7.0.41 - Próximamente
Problemas corregidos:
SERVER-104464 Gestionar los identificadores de índice faltantes durante la recuperación del inicio del conjunto de réplicas después de un apagado incorrecto
SERVER-111573 Agregue la configuración a collstats para devolver las métricas completas de la fuente de datos de wiredtiger.
SERVER- La111885 fusión de compilaciones de índices genera conflictos con replSetGetStatus.
SERVIDOR-127346 Hacer que la actualización de la sesión tenga prioridad de admisión kExempt
7.0.40 - Aug 11, 2026
Esta versión contiene importantes mejoras de seguridad y confiabilidad.
Importante
MongoDB 7.0.40 contiene correcciones para:
Para obtener la información más reciente sobre las actualizaciones de seguridad de MongoDB, consulte Boletines de seguridad de MongoDB.
Problemas corregidos:
SERVER-117854 GranularityRounderPowersOfTwo debería afirmarse para números infinitos
SERVIDOR-129460 Asegúrese de que sea válido
jsonSchemaen las actualizaciones de series temporalesSERVIDOR-129617 Mejor validación para
NaNen$percentiley$medianSERVER-129618 Impide
$vectorSearchque los argumentos proporcionados por el usuario anulen las opciones generadas internamente.SERVER-129994 Corrige un almacén mal formado
FlatBSONcausado por la inserción de nombres de campo duplicadosSERVIDOR-130110 Bloquee el
_internalSetObjToThiscampo de de$functionuso interno tras una comprobación de cliente interno.SERVIDOR-130111 Evita la conversión de tipos no válidos durante la serialización de expresiones de coincidencia.
SERVER-130117 Corrige un error de uso de memoria liberada en la validación de colecciones para polígonos grandes.
SERVIDOR-130139 Cuenta para la
ocomprobación de coherencia -versus-UUIDSERVER-130167 Evita que el ámbito de JavaScript construya solicitudes de eliminación concatenando
_idcampos no sanitizadosSERVIDOR-130188 Excluir índices parciales de
2dspherevalidación de omisión de geometríaSERVER-130198 Aumenta el requisito de autorización para
slowmsysampleRateen elprofilecomandoSERVIDOR-130264 Aplicar la lista de permitidos del mecanismo SASL intra-clúster en la configuración de la conexión de salida.
SERVIDOR-130266 Prohibir
$texty$nearen$_internalSchemaCondSERVIDOR-130481 Permitir el tipo de símbolo en
CommandHelpers::parseNsFromCommandSERVIDOR-130544 Aplicar el usuario interno para
commitTransactionyabortTransactionen transacciones preparadasSERVIDOR-130633 Autorizar
compactStructuredEncryptionDataycleanupStructuredEncryptionDataen el ámbito de la base de datos
7.0.39 - 22 de julio de 2026
Esta versión contiene importantes mejoras de seguridad y confiabilidad.
Importante
MongoDB 7.0.39 contiene correcciones 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-123081 Maneja la especificación de índice comodín compuesto en
$_internalIndexKeySERVIDOR-127280 Rechazar basado
sortByen expresiones en el$linearFillanalizadorSERVIDOR-127357 Comprobar si
fromhay campos duplicados enDocumentSourceGraphLookup::createFromBson()SERVER-127566 Limita el factor de contención que se puede utilizar para los2 campos FLE.
SERVIDOR-127689 Permitir únicamente que los clientes internos especifiquen
$_internalPredicateSERVIDOR-127694 Agregar comprobación de tipo para
DBPointerSERVER-127831 Prohíba a los usuarios externos ejecutar2 comandos FLE con
crudProcessedestablecido en verdaderoSERVER-128198 Corregir
mongoskillCursorspara verificar la autorización contra el espacio de nombres del cursor en lugar del espacio de nombres de la solicitud.SERVER-128341 Corrige un fallo del servidor causado por la ordenación en una
$metaexpresiónSERVER-129103 Restringir los subtipos de BinData de destino en $convert y $constant/$literal
SERVIDOR-128362 Agregue una comprobación de nulidad en el valor de retorno en
ocspClientCallbackSERVIDOR-128433 Impide que los clientes externos configuren
runtimeConstants.userRolesSERVER-128473 Corrige un uso de memoria liberada en
$functioncausado por una llamada faltante aadvanceGeneration()en argumentos BSON retenidosSERVIDOR-128494 Validar BSON externo en
MultiBsonStreamCursorSERVIDOR-128517 Agregue un tiempo de espera mínimo configurable para la transmisión previa a la autenticación
hellopara evitar un bucle en caliente conmaxAwaitTimeMSvalores muy pequeños.SERVIDOR-128832 Guardia
ImplScopeModuleLoadercreaciónSERVIDOR-94001 Continuar con el proceso de actualización de la caché de sesión lógica incluso si la actualización falla.
SERVIDOR- La106165 mayoría de los servidores secundarios se retrasan durante segundos después de 30una conmutación por error, lo que incumple el SLA de lectura/escritura.
SERVER-116284 Asegúrese de que MultiStatementTransactionRequestsSender envíe commitTransaction a todos los fragmentos antes de procesar los resultados.
WT-12657 Agregar hilo de utilidad de limpieza de puntos de control
7.0.37 - Junio 11, 2026
Importante
MongoDB 7.0.37 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
7.0.36 - Junio 10, 2026
Problemas corregidos:
SERVER-127984 Acelere isMetadataFieldName con coincidencia de campos en tiempo de compilación.
7.0.35 - Junio 9, 2026
Importante
MongoDB 7.0.35 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-86326 Aumentar la longitud máxima del patrón de expresiones regulares a 32k
SERVER-111007 La validación debe distinguir entre las causas raíz al encontrar datos de esquema mixtos.
SERVER-121132 Inconsistencia temporal del bucket comprimido durante la sincronización lógica inicial que provoca un fallo
SERVER-112792 Informar sobre la existencia de índices comodín compuestos precedidos por la clave de fragmentación.
SERVER- La126049 comprobación del límite de montón por ámbito de MozJS utiliza un contador GC global del proceso.
SERVER-125063 Prohibir el anidamiento de BSONColumn dentro de BSONColumn
SERVER- Los123507 predicados cifrados dentro de un
$vectorSearchprefiltro deben reemplazarse con marcadores de posición de cifrado.SERVER-124190 Prohibir el
exchangecampo agregado desde clientes no internosSERVIDOR-123918 Validar
runtimeConstants.userRolesen IDLSERVIDOR-123951
$_internalConvertBucketIndexStatsno debería devolver PauseExecution en caso de error en la conversión de índiceSERVER- Asegúrese124031
Exchange::getTargetConsumerde que maneje correctamente MaxKeySERVER-123633 Corrige el manejo de campos de usuario con prefijo $ que entran en conflicto con los metadatos internos.
La contraseña de consulta LDAPSERVER- se registra cuando se establece a través de setParameter.123370
SERVER- GeometryCollection con polígono de enrollamiento estricto provoca un falloen la123440 2generación de la clave del índice dsphere
SERVIDOR-124959 Validar los límites de la matriz de diferencias de documentos y
$_internalApplyOplogUpdateBSON
7.0.34 - 12 de mayo de 2026
Importante
MongoDB 7.0.34 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- No120668
$trimpermitir con una cadena de máscara demasiado largaSERVIDOR-121895 Mejorar la redacción de errores de validación
SERVIDOR-122032 Llamar
replaceEncryptedFieldsInFiltera con proyección posicional resulta en uso después de la liberaciónSERVIDOR-122449 Mejorar
$bitSetexpresiones de coincidenciaSERVER-126021 Comportamiento indefinido al insertar datos con nombres de campo duplicados en colecciones de series temporales.
7.0.32 - Apr 29, 2026
Importante
MongoDB 7.0.32 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-:119679 Falta la comprobación de autorización en updateUser
SERVER-:119981 Corrige binDataClean() para un tipo obsoleto.
SERVER-:105047 Las consultas que utilizan $or y $ne en colecciones fragmentadas pueden incluir documentos huérfanos.
SERVER-:110345 La documentación de config.rangeDeletions para tareas de eliminación de rango no completadas podría eliminarse debido a un filtro de eliminación no exacto.
SERVER-:110423$group puede usar un escaneo distinto en un índice disperso, lo que oculta los resultados nulos o faltantes.
SERVIDOR-:110916 Uso después del movimiento en targetShardsAndAddMergeCursors()
SERVER-:111486$group aún puede usar un escaneo distinto en un índice disperso si hay un índice alternativo disponible.
7.0.31 - 17 de marzo de 2026
Importante
MongoDB 7.0.31 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.
SERVER-:55068 Establece el
net.maxIncomingConnectionsmáximo de en sistemas Linux a(RLIMIT_NOFILE / 2) * 0.8SERVER-:82688
mongodfallo, corrección de errores cuando las conexiones superan el de wiredtigersession_maxSERVER-:95374 Los índices comodín compuestos pueden desplazar incorrectamente los predicados durante la unión o la planificación.
SERVER-:103774 No permitir que los índices comodín compuestos se utilicen como índice de clave de fragmentación.
SERVIDOR-:110953 Compruebe que no haya ningún documento huérfano en un fragmento receptor antes de comenzar a clonar un rango.
SERVER-:113319 El desplazamiento hacia abajo más allá de un campo renombrado se realiza incorrectamente cuando la raíz de la expresión es una expresión de ruta de campo
$matchrenombrada.SERVIDOR-:115962 El equilibrador no avanza cuando el fragmento más cargado ya está equilibrado dentro de sus zonas.
118428SERVIDOR-:
mongocryptdrechaza mensajes grandesSERVER-:119317 Mejora del ciclo de vida del objeto del5 estado hash MD
SERVIDOR-:119319 Corrección del error de uso después de la liberación de memoria en ExpressionContext
WT-:14140 Se ha tomado un bloqueo de esquema innecesario para los identificadores de dominio activos
"file:"que no se han barrido.
7.0.30 - Feb 10, 2026
SERVER-118713 - No se puede crear el 2índice de series temporales dsphere con un usuario que no sea del sistema.
7.0.29 - Jan 27, 2026
Importante
MongoDB 7.0.29 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-94315 - Error de filtrado de fragmentos con intercalación
SERVIDOR-99119 - Cambiar las invariantes relacionadas con la geografía a tasserts
SERVIDOR-102364 - Comprobar periódicamente que la profundidad acumulada de $reduce sea menor que maxAllowableBSONDepth
SERVIDOR-112952 - Comando de autenticación de perfil ajustado
SERVIDOR-113532 - [.]8 0Introducir un nuevo límite de tamaño de Bson de respuesta de Cursor de 16MB+32KB
SERVER-113685 - Error de segmentación para la consulta en el índice comodín compuesto
SERVER-114695 - Actualizar el valor predeterminado para las conexiones pendientes
SERVIDOR-114838 - El administrador de bloqueos es vulnerable a un ataque DDoS malicioso.
SERVIDOR-115296 - Ocultar los valores sin procesar de ResourceId de los mensajes de error
SERVER-116206 - Mejor manejo de excepciones para compresores de mensajes
SERVER-116210 - Ajustar el tamaño máximo del búfer para las solicitudes de entrada
SERVIDOR-116211 - Limitar la memoria asignada por los búferes de red
7.0.28 - 19 de diciembre de 2025
Importante
MongoDB 7.0.28 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 Crear búferes de tamaño mínimo para mensajes sin comprimir
7.0.26 - 21 de noviembre de 2025
Importante
MongoDB 7.0.26 incluye correcciones para CVE-2025-,12893 CVE-2025-,13507 CVE-2025-,13643 CVE-2025-13644 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-:77172 El hilo "abortExpiredTransactions" puede quedarse bloqueado si falla al cerrar una sesión.
SERVER-:89039 Admite un comando que devuelve un valor después de que se haya iniciado la compilación de un índice.
SERVIDOR-:92236 Las migraciones de fragmentos deben usar fuentes de cancelación de corta duración.
SERVIDOR-:102670 Manejo incorrecto de errores de inserción de series temporales ordenadas
SERVER-:107361 La determinación de rotación en el catálogo de depósitos puede fallar al comprobar el esquema mixto para medidas grandes.
SERVER-:108565 Mejora el manejo de escrituras de gran tamaño en colecciones de series temporales.
SERVIDOR-:112467 Realiza un seguimiento e informa sobre el número de conexiones proxy pendientes.
WT-:9575 Las páginas con actualizaciones más recientes que el ID de transacción más antiguo no se ponen en cola para su eliminación.
SERVIDOR-:106589 Proporcione más memoria para la creación de índices durante la sincronización inicial.
SERVIDOR-:102428 La sincronización inicial lógica asigna el doble
maxIndexBuildMemoryUsageMegabytesSERVER-:86591 Mejora del manejo de errores de InitialSync para problemas de red transitorios
7.0.25 - 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:
SERVER-:105873 QueryPlannerParams no debe mantener punteros propiedad de IndexCatalogEntry.
7.0.24 - 10 de septiembre de 2025
Problemas corregidos:
SERVER-:103505 Manejar errores de metadatos en WiredTigerUtil::setTableLogging
SERVIDOR-:103741 Agregar métricas de recopilación de perfiles
104771SERVIDOR-: [v.]7 0La sincronización inicial falla cuando el origen tiene índices TTL en una colección limitada.
WT-:14391 Compruebe que el servidor de desalojo esté en funcionamiento antes de abrir HS.
WT-:14653 Agregar registros/estadísticas a la conciliación para el seguimiento de las actualizaciones de HS
7.0.23 - Aug 13, 2025
Problemas corregidos:
SERVER-:81797 Crea nuestra propia implementación portátil de las operaciones atómicas
notify()ywait()con soporte para tiempo de espera.SERVER-:86656 Crea un mutex de lector-escritor optimizado para lectores.
SERVIDOR-:95324 Deshabilitar chunkMigrationConcurrency
SERVIDOR-:101581 Comprobar el estado del socket antes de aceptar la conexión en ASIO
SERVIDOR-:103934 FCBIS debería poder llamar a KVEngine::cleanShutdown sin fugas de memoria.
7.0.22 - 18 de julio de 2025
Importante
Debido a CVE-2025-10061, en MongoDB 7.0 anterior a 7.0.6, 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 a2025-12657 de la CVE, en MongoDB 7.0 anterior a 7.0.6, 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 155126 de análisis de Coverity: Uso de iterador no válido
SERVIDOR-:95523 upsert no maneja correctamente el reintento de DuplicateKey
SERVER-:95524 Evitar reintentar en caso de error de clave duplicada para las operaciones de inserción/actualización en transacciones multidocumento.
SERVER-:96197 _resolvedNamespaces de ExpressionContext no puede distinguir entre colecciones con el mismo nombre en bases de datos diferentes.
SERVIDOR-:98386 Shard no comprueba correctamente la ShardVersion recibida para las colecciones de series temporales.
SERVER-99616 $group puede acceder a MONGO_verify
7.0.21 - Jun 04, 2025
Problemas corregidos:
SERVIDOR-:92806 La entrada de caché del plan ignora la intercalación del índice con $elemMatch
SERVER-:95672 Los índices en campos de matriz que contienen submatrices no incluyen algunos resultados.
SERVER-:97044 Se corrige un problema por el que los flujos de cambios podrían generar incorrectamente un evento "drop" durante la refragmentación o desfragmentación de una colección que utiliza o utilizaba la fragmentación de zonas.
WT-:12012 Restaurar los niveles de verbosidad originales si gen_drain se desbloquea después de aumentar los niveles de verbosidad.
WT-:13216 Evaluar el uso de la comprobación de desalojo de caché en compact
7.0.20 - Apr 29, 2025
Importante
La corrección para el manejo incorrecto de datos incompletos puede impedir que mongos acepte nuevas conexiones
Debido a CVE-2025-6714, en MongoDB 7.0 anterior a 7.0.6, 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-:93120 La recopilación de FTDC está bloqueada debido a la lectura del estado del cursor de copia de seguridad bloqueado
SERVIDOR-:106753 El manejo incorrecto de datos incompletos puede impedir
mongosque acepte nuevas conexiones.
7.0.19 - 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 7.0 anterior a la 7.0.6, 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- El106752 servidor MongoDB puede ser susceptible a la escalada de privilegios debido a la
$mergeCursorsetapa
7.0.18 - 19 de marzo de 2025
Problemas corregidos:
SERVIDOR-82037 La memoria utilizada por los desbordamientos del clasificador puede crecer sin límite.
SERVIDOR-90689 Cambiar las comprobaciones de advertencia de inicio de THP para que también tengan en cuenta la configuración a nivel de proceso antes de emitir la advertencia.
SERVER-95452 Impide que CollectionRoutingInfoTargeter itere sobre todos los rangos de fragmentos durante la actualización y eliminación.
SERVER-98720 Agregue las llamadas faltantes a redact() a los registros de advertencia de "Error del ejecutor del plan".
SERVER-100901 Relaja la invariante digest del usuario a tassert en ShardingTaskExecutor
7.0.17 - Feb 21, 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 7.0 anterior a la versión 7.0.6, 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.6, 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-73641 El filtrado de series temporales puede omitir eventos de rango extendido cuando se fragmenta.
SERVIDOR-76883 Reduzca la cantidad de mensajes de "El rol no existe" en los registros de usuarios externos.
SERVER-85627 Información de registro del hilo interrumpido en stepdown killOp
SERVER-89614 $out no se limpia correctamente entre el cambio de nombre y la eliminación de la colección temporal.
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 desbordamiento de pila en el análisis JSON mediante recursión excesiva en MongoDB
7.0.16 - 20 de diciembre de 2024
Problemas corregidos:
SERVIDOR- El67816 redondeo de cubos de1970 series temporales para fechas anteriores a se comporta de forma inesperada.
SERVIDOR-90672 Investigar un posible error en la ruta de inserción de series temporales que permite que varios buckets tengan los mismos OID, en diferentes franjas.
SERVER-90893 listDatabases incompatible con operaciones DDL concurrentes
SERVIDOR-94559 Las eliminaciones de medición de series temporales actualizan el minTime de un cubo.
SERVER-95067 Las inserciones de series temporales pueden generar varios lotes que hacen referencia al mismo bucket.
7.0.15 - 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 7.0 y 7.0.6, 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
SERVER-96419 La neutralización incorrecta de bytes nulos puede provocar lecturas excesivas del búfer en MongoDB Server.
7.0.14 - Aug 26, 2024
Problemas corregidos:
SERVER-82814 Admite operadores de comparación de expresiones internas al determinar los límites de escaneo de colecciones agrupadas.
SERVIDOR-85892 $merge con canalización después de que $documents devuelva error
SERVER-91195 Proporcionar una solución genérica y retroportable para no perder las opciones de recopilación de series temporales de nivel superior.
SERVER-91625 Habilitar planes indexados para expresiones con $$NOW, $$CLUSTER_TIME y $$USER_ROLES
WT-12643 Corrige la lógica de recorrido del servidor de desalojo para que pueda desalojar todas las páginas.
7.0.12 - Jun 28, 2024
Importante
Corrección para CSFLE y Queryable Encryption: la autoconsulta puede enviar valores en subpipelines como texto sin formato en lugar de texto cifrado.
Debido a la CVE-2024-8013, en MongoDB 7.0 anterior a 7.0.6, un error en el análisis de query de ciertas subpipelines complejas autorreferenciales $lookup puede resultar en que los valores literales en las expresiones para los campos cifrados se envíen al servidor de forma incorrecta.
Si esto ocurre, no se devolverán ni se escribirán documentos. Este problema afecta al binario mongocryptd y a la biblioteca compartida mongo_crypt_v1 en las siguientes versiones de MongoDB Server:
7.3.0 - 7.3.3
7.0.0 - 7.0.11
6.0.0 - 6.0.16
5.0.0 - 5.0.28
Puntuación CVSS: 2.2
CWE: CWE-319: Transmisión de información confidencial en texto no cifrado
Problemas corregidos:
SERVER-96254 La búsqueda automática de CSFLE y cifrado consultable puede fallar al cifrar valores en subcanales.
SERVER-64574 Actualizar MozJS/Spidermonkey a la última versión de ESR
SERVIDOR-86674 La sincronización primaria puede creer que se ha sincronizado cuando no es así.
SERVER-90485 $sort no funciona como se esperaba cuando se usa junto con includeArrayIndex.
SERVER-91362 Rendimiento: No copie el objeto "scope" de JS si existe un JsExecution en caché.
WT-12736 Marcar la página como limpia después de volver a instanciarla con las actualizaciones preparadas.
7.0.11 - 23 de mayo de 2024
Problemas corregidos:
SERVIDOR- No ejecute85279 el recolector de estadísticas de la colección FTDC en los árbitros
SERVER-89495 Deshabilitar los parámetros de prueba incluso cuando no se especifica ningún setParameters.
SERVER-89625 Maneje correctamente directoryPerDb y wiredTigerDirectoryForIndexes al informar sobre espacios de nombres y UUID durante una copia de seguridad.
SERVER- Los90288 operadores de consulta bit a bit deben interpretar el byte direccionable más bajo en BinData como el byte menos significativo.
WT-12609 Mejora la lógica de limpieza de puntos de control y desalojo de páginas.
7.0.9 - Apr 26, 2024
Problemas corregidos:
SERVIDOR-79637 Resultados de consulta incorrectos en $lookup con colección externa TS usando un predicado correlacionado
SERVER-82349 Mongo 7 falla al eliminar/eliminar índices de applyOps sin un UUID de colección.
SERVER-86407 La validación no produce resultados completos cuando debería.
Las comparaciones de bitsde SERVER- BinData dan resultados incorrectos en muchos casos.88173
WT-10807 Omitir las páginas eliminadas en memoria como parte del recorrido del árbol.
7.0.8 - Apr 3, 2024
Problemas corregidos:
SERVIDOR-78556 Devuelve el valor predeterminado de internalInsertMaxBatchSize a 64
SERVIDOR-79575 Corregir el conteo de nodos NUMA
SERVIDOR-86583 La lectura de instantáneas no transaccionales en una colección no fragmentada puede ejecutarse con metadatos de fragmentación que no coinciden.
SERVER- La87666 forma de la consulta para $documents es única en cada ejecución.
SERVER- Eliminar la aserción de88360 activación "El UUID de la colección de sharding y la colección de catálogo local no coinciden"
7.0.7 - 18 de marzo de 2024
Problemas corregidos:
SERVER-84368 CreateIndex falla con StaleConfig si se ejecuta desde un mongos obsoleto contra una colección fragmentada no vacía.
SERVER-84628 Advertencia de inicio en mongos por problemas de lectura/escritura
SERVER-85459 [v.]7 0El parámetro bucketRoundingSeconds es aceptado por los nodos en FCV.,6 0 7binario.0
SERVIDOR-85869 La búsqueda exhaustiva en el fragmento de configuración puede devolver datos obsoletos.
SERVIDOR-87061 Las transacciones multidocumento fragmentadas pueden observar efectos parciales de la operación de reshard concurrente.
7.0.6 - Feb 28, 2024
Importante
La corrección para MongoDB Server podría permitir una conexión no confiable exitosa
Debido a CVE-2024-1351, en MongoDB 7.0 anterior a 7.0.6, bajo ciertas configuraciones de --tlsCAFile y CAFile, MongoDB Server puede omitir la validación del certificado de igual, lo que puede dar como resultado que las conexiones no confiables se realicen con éxito.
Esto puede reducir de manera efectiva las garantías de seguridad proporcionadas por TLS y abrir conexiones que deberían haberse cerrado debido a la falla en la validación del certificado. Este problema afecta a las siguientes versiones de MongoDB Server:
7.0.0 - 7.0.5
6.0.0 - 6.0.13
5.0.0 - 5.0.24
4.4.0 - 4.4.28
Puntuación CVSS: 8.8
CWE: CWE-295: validación incorrecta del certificado
Problemas corregidos:
SERVER-72703 Rebajar el bloqueo de la base de datos de $out a MODE_IX
SERVER- Las82353 transacciones de varios documentos pueden perder documentos cuando movePrimary se ejecuta simultáneamente.
SERVER-84338 Las consultas $or de nivel superior pueden generar una entrada de caché de plan SBE no válida que devuelve resultados incorrectos.
SERVER-84723 Las transacciones multidocumento fragmentadas pueden observar efectos parciales de operaciones DDL concurrentes.
WT-11062 Libera de forma segura la dirección de referencia para permitir el acceso concurrente.
7.0.5 - Jan 5, 2024
Problemas corregidos:
SERVER-33494 WT SizeStorer nunca elimina las entradas antiguas
SERVER-80363 El valor predeterminado writeConcern del servidor no se respeta cuando se establece wtimeout.
SERVER-83091 $or La consulta puede desencadenar un bucle infinito durante la enumeración del plan.
SERVER-83830 En la compilación Enterprise, crear una colección en un conjunto de réplicas con la opción storageEngine.inMemory rompe los secundarios.
WT-7929 Investigar una solución para evitar bloqueos del FTDC durante el punto de control.
7.0.4 - 27 de noviembre de 2023
Problemas corregidos:
SERVIDOR-67962 La aplicación de config.image_collection elimina requiere un mejor control de concurrencia.
SERVER-69244 $merge falla cuando la preocupación de lectura predeterminada de la sesión se ha establecido en "mayoría".
SERVIDOR-79975 [Clásico] Optimizar claves de grupo grandes
SERVIDOR-81133 Lógica de aceleración para mantener la caché de la tabla de enrutamiento
SERVER- El82446 caso de uso $densify puede resultar en documentos fuera de rango
7.0.3 - 9 de noviembre de 2023
Problemas corregidos:
SERVER-77506 Las transacciones multidocumento fragmentadas pueden presentar discrepancias entre los datos y ShardVersion.
SERVER-79088 Mejora el rendimiento del planificador múltiple de SBE para consultas que devuelven cero resultados.
SERVER- El81106 fragmento receptor no espera a que la versión de la colección se persista localmente antes de comenzar la fase de clonación.
SERVIDOR-81966 Evitar la modificación de instancias anteriores de ChunkMap durante la actualización.
WT-11564 Corrige RTS para que lea el valor de transacción más reciente solo cuando exista en el punto de control.
7.0.2 - 29 de septiembre de 2023
Problemas corregidos:
SERVIDOR-74954 Resultado incorrecto cuando contiene $or reescribe $elemMatch condición adicional
SERVIDOR- Hacer que la79771 operación de refragmentación sea resistente a NetworkInterfaceExceededTimeLimit
SERVER-79912 CheckReplDBHash informa de un fallo en las colecciones system.buckets debido a un BSON no válido.
SERVER-79982 Los escritores de catálogo por lotes pueden ejecutarse simultáneamente con HistoricalCatalogIdTracker::cleanup() y provocar resultados de búsqueda PIT incorrectos.
SERVIDOR-80488 Evitar recorrer la tabla de enrutamiento en la política de división de fragmentos del balanceador
7.0.1 - 5 de septiembre de 2023
Problemas corregidos:
SERVIDOR- La71627 actualización de la información de ruta de la colección en caché bloquea severamente todas las solicitudes de los clientes para un clúster con 1 millones de fragmentos.
SERVER-77183 $project seguido de $group a veces da resultados incorrectos
SERVER-80256 QueryPlannerAnalysis::explodeForSort no debe asumir que los escaneos de índice producen resultados disjuntos
7.0.0 - Aug 15, 2023
Problemas conocidos
Esta sección describe problemas conocidos en MongoDB 7.0 y su estado de resolución.
En la Versión | Problema | Estado |
|---|---|---|
7.0.29, 7.0.30 | SERVIDOR-:118428 Los cambios en Para evitar este error, omita estas versiones cuando actualice | Sin resolver. |
Gestión del índice de búsqueda Atlas
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 gestionar los índices de búsqueda de Atlas, utiliza los siguientes comandos:
Métodos mongosh
Nombre | Descripción |
|---|---|
Crea un índice de Atlas Search 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. |
Comandos de base de datos
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. |
Etapas de agregación
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. |
Cambios generales
Comportamiento de autenticación del token de acceso OIDC
A partir de MongoDB 7.0, solo se puede especificar un campo audience oidcIdentityProviders para los tokens de acceso OIDC. Los campos audience con arreglos vacíos o arreglos de varios strings no son válidos.
Para obtener más detalles, consulte Campos oidcIdentityProviders.
Descartar un índice de clave de partición con hash
A partir de MongoDB 7.0.3 (y 6.0.12 y 5.0.22), puedes descartar el índice de una clave de fragmentación encriptada.
Esto puede acelerar la inserción de datos para colecciones particionadas con una clave de partición con hash.
Para obtener más información, consulta Descartar un índice de clave de fragmentación encriptada.
Campos de actualización de tiempo de caché
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é.
Transacciones concurrentes del motor de almacenamiento (tickets de lectura y escritura)
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 los escenarios de sobrecarga para MongoDB después de la versión 7.0 y para versiones anteriores:
Versión | Diagnóstico de escenarios de sobrecarga |
|---|---|
7.0 y versiones posteriores | 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 versiones 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:
wiredTiger.concurrentTransactionsqueues.executionrenombrado en la versión 8.0.
currentOp Métricas
A partir de MongoDB 7.0, el comando currentOp y el método db.currentOp() incluyen estos nuevos campos:
$currentOp Métricas (agregación)
A partir de MongoDB 7.0, la etapa de agregación currentOp incluye estos nuevos campos:
Índices comodín compuestos
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.
Eventos grandes de flujo de cambios
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:
Cambio de salida de serverStatus
serverStatus incluye los siguientes campos nuevos en su resultado:
- Métricas de caché de plan
- Métricas de queryAnalyzer
Motor de ejecución de query basado en ranuras
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.
Variable del sistema de roles de usuarios
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.
Nuevas estadísticas de particionado para las migraciones de fragmentos
Disponible a partir de MongoDB 7.1 (y 7.0, 6.3.2, 6.0.6 y 5.0.18).
MongoDB incluye las siguientes nuevas estadísticas de particionado para las migraciones de fragmentos:
Nuevo mensaje de registro de query lento
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.
Nuevos parámetros
Parámetros relacionados con analyzeShardKey
MongoDB 7.0 añade los siguientes parámetros relacionados con el comando analyzeShardKey:
autoMergerIntervalSecs Parameter
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.
autoMergerThrottlingMS Parameter
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.
balancerMigrationsThrottlingMs Parameter
MongoDB 7.0 añade el parámetro balancerMigrationsThrottlingMs que le permite limitar la tasa de equilibrio.
Líneas del parámetro enableDetailedConnectionHealthMetricLogLines
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.
oidcIdentityProviders Parameter
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.
Parámetros relacionados con configureQueryAnalysis
MongoDB 7.0 añade los siguientes parámetros relacionados con el comando configureQueryAnalysis:
Límite de longitud de caracteres para $trim, $ltrim y $rtrim
A partir de MongoDB 7.0.33, la longitud de la string que se proporciona a chars está limitada a 4096 caracteres. Para más detalles, ver $trim Limitaciones.
Seguridad
Disponibilidad general de Queryable Encryption
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.
Soporte para KMIP 1.0 y 1.1
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.
Soporte de OpenSSL y FIPS
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
A partir de MongoDB 8.0, MongoDB es compatible con OpenSSL 3.0 y el proveedor FIPS de OpenSSL para Amazon Linux 2023.3.
Para obtener más información, consulte TLS/SSL (Cifrado de Transporte).
OpenID Connect
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.
Agregación
Nuevos operadores:
Nombre | Descripció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. |
Especificador del nombre del mes para $dateToString
MongoDB 7.0 añade los siguientes especificadores de formato para usar con el operador $dateToString:
Especificadores | Descripción | Possible Values |
|---|---|---|
| Nombre del mes abreviado (3 letras) |
|
| Nombre completo del mes |
|
Time Series
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:
particionado
Diagnósticos de metadatos de particionado
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 auxiliares ya están disponibles a través mongosh de:
Para obtener más información sobre las inconsistencias que verifica el comando, consulta los Tipos de Inconsistencias.
Comando mergeAllChunksOnShard
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.
AutoMerger
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:
Parámetro enableAutoMerger para configureCollectionBalancing
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.
Métricas de OperationsBlockedByRefresh Eliminadas
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.
Comando analyzeShardKey y db.collection.analyzeShardKey() (método)
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.
Comando configureQueryAnalyzer y db.collection.configureQueryAnalyzer() (método)
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.
Soporte de plataforma
Plataformas eliminadas
MongoDB 7.0 remueve el soporte para RHEL 7/CentOS 7/Oracle 7 en las arquitecturas PPC64LE y s390x.
Cambios introducidos en MongoDB 6.3
Agregación
MongoDB 6.3 introduce los siguientes operadores de agregación:
Operador | Descripción |
|---|---|
Devuelve el resultado de una operación de | |
Devuelve el resultado de una operación bit a bit | |
Devuelve el resultado de una operación de | |
Devuelve el resultado de una operación bit a bit |
Mensaje de registro de adquisición de conexión a cable
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.
connPoolStats Métricas
A partir de MongoDB 6.3, el comando connPoolStats tiene estos cambios en la salida:
Documento | Campo(s) |
|---|---|
Nuevo documento | 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. |
explain La salida incluye campos para el tamaño del archivo de datos volcados
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$groupnumBytesSpilledEstimate, estimación del número de bytes escritos en el disco en la etapa$groupantes de la compresión
Para obtener más detalles, consulte $sort y $group Etapas.
serverStatus Métricas
A partir de MongoDB 6.3, el comando serverStatus y el método db.serverStatus() tienen estos cambios en la salida:
Documento | Campo(s) |
|---|---|
Nuevo documento | |
Adición al documento | |
Nuevo documento | |
Adiciones al documento | |
Adición al documento | |
Adiciones al documento |
Mensaje de registro del flujo de trabajo de la sesión
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.
Parámetros del servidor
A partir de MongoDB 6.3, se añadieron estos parámetros del servidor:
slowConnectionThresholdMillisestablece el límite de tiempo para el registro del establecimiento de conexiones lentas al servidor.planCacheSizeestablece el tamaño de la caché del plan para el motor de ejecución de queries basado en ranuras.
Parámetros de agrupamiento personalizados para la colección de series de tiempo
MongoDB 6.3 agrega los siguientes parámetros de series de tiempo:
bucketMaxSpanSecondsestablece el tiempo máximo entre mediciones en un bucket.bucketRoundingSecondsestablece el intervalo de tiempo que determina la marca de tiempo de inicio de un nuevo bucket.
compact Soporte para colecciones de series de tiempo
A partir de MongoDB 6.3, el comando compact funciona con colecciones de series de tiempo.
Indexación 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.
Cambios introducidos en MongoDB 6.2
Validación de colecciones
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
checkBSONConformanceque habilite comprobaciones completas de BSON.
Comandos obsoletos
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.
Métricas de serverStatus
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.
Parámetros del servidor
A partir de MongoDB 6.2, mongod agrega estos parámetros:
particionado
A partir de la versión 6.2, MongoDB remueve el campo maxSize del comando addShard. Como resultado:
Cambios introducidos en MongoDB 6.1
$addFields y $set permiten objetos vacíos como expresiones
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.
Auditoría
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.
Equilibrio de los cambios de política
A partir de MongoDB 6.1, los datos de los clústeres particionados se distribuyen en función del tamaño de los datos en lugar de la cantidad de fragmentos. Como resultado, ten 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.
moveRangeha reemplazado amoveChunk.
Cambios en el registro en la bitácora
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.
currentOp Métricas
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 |
|---|---|---|
| Eliminado. | |
| Todo | Describe la acción realizada. El valor es uno de los siguientes:
Para |
| Todo | Esta métrica tiene un valor constante: "command". |
| Todo | El namespace para el índice redistribuido. El valor es un string en la forma: |
| Todo | Un documento que enumera las opciones de comando para la operación. |
| Donante | El estado actual de la máquina de estados del rol. |
| Coordinador | El estado actual de la máquina de estados del rol. |
| Destinatario | El estado actual de la máquina de estados del rol. |
docsAproxAMoverse | 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 |
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. |
totalOperationTimeElapsedSecs | 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. |
remainingOperationTimeEstimatedSecs | Destinatario | La cantidad estimada de segundos hasta que la operación se complete. |
allShardsLowestRemainingOperationTimeEstimatedSecs | Coordinador | Calculada en todas las particiones, la estimación más baja de la cantidad de segundos que quedan. |
allShardsHighestRemainingOperationTimeEstimatedSecs | Coordinador | Calculado en todos los fragmentos, la estimación más alta del número de segundos que quedan. |
countWritesToStashCollections | Destinatario | La cantidad de operaciones de escritura en las colecciones de reserva de los destinatarios. |
countWritesDuringCriticalSection | Donante | La cantidad de intentos de guardado durante la sección crítica del donante. |
countReadsDuringCriticalSection | Donante | La cantidad de intentos de lecturas durante la sección crítica del donante. |
Mejora de la eficiencia para la eliminación de múltiples documentos
A partir de MongoDB 6.1:
Para mejorar la eficiencia, MongoDB puede agrupar la eliminación de múltiples documentos.
Los resultados
explaindel comando contienen una nuevaBATCHED_DELETEetapa para la eliminación de documentos agrupados.
Actualización de la biblioteca PCRE
Perl Compatible Regular Expressions (PCRE) es la biblioteca que utiliza MongoDB para implementar la coincidencia depatrones mediante expresiones regulares. A partir de la versión 6.1, MongoDB actualiza la biblioteca PCRE a PCRE2. PCRE2 es la versión actual y se mantiene y actualiza activamente.
Para aprender a realizar coincidencias regex en MongoDB, consulte las siguientes páginas:
$regex(operador del query)$regexFind(operador de agregación)$regexFindAll(operador de agregación)$regexMatch(operador de agregación)
Manejo de errores de escrituras reintentables
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 |
Trabajo parcial completado. (Se ha insertado al menos un documento, pero no todos.) | Error devuelto sin la etiqueta |
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.
Redistribución
A partir de MongoDB 6.1, hay nuevas métricas disponibles para la redistribución. La salida de los siguientes comandos ha cambiado:
Parámetros del servidor
A partir de MongoDB 6.1, MongoDB agrega los siguientes parámetros nuevos:
temporarilyUnavailableBackoffBaseMsajusta el tiempo entre reintentos después de un error de escritura.temporarilyUnavailableMaxRetrieslimita el número de reintentos después de una falla al guardar.ldapRetryCountestablece el número de reintentos de operación que realiza el administrador LDAP del servidor tras un error de red.
serverStatus Métricas
A partir de MongoDB 6.1, el comando serverStatus y el método db.serverStatus() tienen estos cambios en la salida:
Nuevas métricas
countWritesToStashCollectionsLa cantidad de guardados en la colección de reserva del destinatario.latenciesMétricas de tiempo para operaciones de redistribución.collectionCloningTotalRemoteBatchRetrievalTimeMillisTiempo total que los destinatarios dedicaron a recuperar agrupaciones de documentos de los donantes, en milisegundos.collectionCloningTotalRemoteBatchesRetrievedNúmero total de agrupamientos de documentos que los destinatarios recuperaron de los donantes.collectionCloningTotalLocalInsertTimeMillisTiempo total que los destinatarios dedicaron a insertar lotes de documentos de los donantes, en milisegundos.collectionCloningTotalLocalInsertsNúmero total de agrupaciones de documentos de donantes que los destinatarios han insertado.oplogFetchingTotalRemoteBatchRetrievalTimeMillisTiempo total que los destinatarios pasaron recuperando lotes de entradas del oplog desde los donantes, en milisegundos.oplogFetchingTotalRemoteBatchesRetrievedNúmero total de entradas de oplog agrupadas que los receptores recuperaron de los donantes.oplogFetchingTotalLocalInsertTimeMillisEl tiempo total que los destinatarios dedicaron a insertar agrupaciones de entradas de oplog de donantes, en milisegundos.oplogFetchingTotalLocalInsertsNúmero total de lotes de entradas de OpLog de donantes que los destinatarios insertaron.oplogApplyingTotalLocalBatchRetrievalTimeMillisTiempo total que los destinatarios dedicaron a recuperar lotes de entradas de oplog que se insertaron durante la recuperación, en milisegundos.oplogApplyingTotalLocalBatchesRetrievedCantidad total de agrupaciones de entradas de oplog que se insertaron durante la recuperación y que los destinatarios recuperaron.oplogApplyingTotalLocalBatchApplyTimeMillisTiempo total que los destinatarios dedicaron a aplicar agrupaciones de entradas de oplog, en milisegundos.oplogApplyingTotalLocalBatchesAppliedNúmero total de lotes de entradas de oplog que los destinatarios aplicaron.
Métricas sustituidas
resharding.remainingOperationTimeEstimatedMillis se reemplaza por:
Métricas renombradas
countReshardingSuccessfules ahoracountSucceededcountReshardingFailureses ahoracountFailedcountReshardingOperationses ahoracountStartedcountReshardingCanceledes ahoracountCanceledminShardRemainingOperationTimeEstimatedMillises ahoracoordinatorAllShardsLowestRemainingOperationTimeEstimatedMillismaxShardRemainingOperationTimeEstimatedMillises ahoracoordinatorAllShardsHighestRemainingOperationTimeEstimatedMillisresharding.opcounters.insertes ahorainsertsAppliedresharding.opcounters.updatees ahoraupdatesAppliedresharding.opcounters.deletees ahoradeletesApplied
Métricas eliminadas
oplogApplierApplyBatchLatencyMilliscollClonerFillBatchForInsertLatencyMillis
Motor de almacenamiento
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.
*UCP Opción de Regex para coincidir con caracteres no ASCII
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.
Procedimientos de actualización
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.
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 7.0 a una de la serie 6.0. Sin embargo, no se brinda soporte a seguir degradando esa implementación de la serie 6.0 a una implementación de la serie 5.0.
Cambios en la política de degradación
A partir de MongoDB 7.0:
MongoDB Community Edition ya no brinda soporte a las degradaciones binarias.
No se puede degradar la compatibilidad de características entre versiones de su implementación a o desde una versión lanzamiento rápido de MongoDB.
El comando
setFeatureCompatibilityVersionrequiere un parámetro adicional,confirm, que debe configurarse entruepara actualizar o degradar la compatibilidad de características entre versiones.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.
Características incompatibles con versiones anteriores
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.
Descargar
Para descargar MongoDB 7.0, dirígete al Centro de descargas de MongoDB.
Informar un problema
Para informar un problema, consulte el repositorio de GitHub de MongoDB a fin de obtener instrucciones sobre cómo presentar un ticket de JIRA para el servidor de MongoDB o uno de los proyectos relacionados.