Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Notas de versión

Descubra qué hay de nuevo en:

  • Versión 6.21

  • Versión 6.20

  • Versión 6.19

  • Versión 6.18

  • Versión 6.17

  • Versión 6.16

  • Versión 6.15

  • Versión 6.14

  • Versión 6.13

  • Versión 6.12

  • Versión 6.11

  • Versión 6.10

  • Versión 6.9

  • Versión 6.8

  • Versión 6.7

  • Versión 6.6

  • Versión 6.5

  • Versión 6.4

  • Versión 6.3

  • Versión 6.2

  • Versión 6.1

  • Versión 6.0

La versión6.21 del driver de Node.js incluye las siguientes funcionalidades:

  • Desaprueba las siguientes propiedades e interfaz, que se eliminarán en la versión7.0:

    • MongoCredentials.authMechanismProperties.AWS_SESSION_TOKEN

    • CommandOptions.noResponse

    • ConnectionOptions.cancellationToken

    • CursorStreamOptions

Para obtener más información sobre esta versión, consulte las notas de versión v6.21.0 en GitHub.

La versión6.20 del driver de Node.js incluye las siguientes funcionalidades:

  • Ya no genera un error cuando se proporciona la opción hint en los comandos update no reconocidos. Cuando se conecta a MongoDB Server 4.4 o posterior, el driver también admite la opción hint para los comandos delete y findAndModify no reconocidos.

  • Permite acceder al objeto padre Db desde un Collection y al objeto padre MongoClient desde un Db.

  • Inutiliza la clase ServerCapabilities.

  • Desaprueba la propiedad ReadPreference.minWireVersion.

  • Obsolece las siguientes opciones de MongoClient:

    • driverInfo

    • additionalDriverInfo

    • metadata

    • extendedMetadata

  • Inhabilita la opción CommandOperationOptions.retryWrites. El controlador de Node.js soporta la opción retryWrites solo a nivel de MongoClient y ya ignoraba la opción cuando se configuraba a nivel de operación. Sin embargo, esta opción se eliminará en una futura versión principal y podría generar errores de tipo o de construcción en tu código.

  • Actualiza el resumeToken cuando se utiliza el método tryNext() para recorrer los eventos del flujo de cambio. Las versiones anteriores del controlador no actualizaban el resumeToken, lo que resultaba en un comportamiento inconsistente durante la iteración del flujo de cambios.

  • Permite real watcher reanudar después de que el driver se encuentre con un MongoServerSelectionError.

  • Ignora los metadatos duplicados al llamar a MongoClient.appendMetadata().

Para obtener más información sobre esta versión, consulte las notas de versión v6.20.0 en GitHub.

La versión6.19 del driver de Node.js incluye las siguientes funcionalidades:

  • Agrega soporte experimental para prefijo, sufijo y consultas de subcadena en la búsqueda de texto con Queryable Encryption. Debe actualizar su paquete mongodb-client-encryption a la v6.5.0 o posterior para utilizar esta funcionalidad.

    Importante

    La búsqueda de subcadenas, prefijos y sufijos está en vista previa y solo debe usarse para cargas de trabajo experimentales.

  • Obsoleto las siguientes opciones para las operaciones de findOne():

    • limit

    • noCursorResponse

    • batchSize

  • Se asegura de que findOne() solo pueda recibir un único agrupar de documentos del servidor para evitar comandos killCursor innecesarios.

  • Añade soporte para especificar un secureContext a tlsOptions:<provider> en las opciones autoEncryption sobre el MongoClient o como una opción en el objeto ``ClientEncryption``. Esto te permite pasar tlsCAFile y tlsCertificateKeyFile como opciones en memoria tanto a MongoClientOptions.autoEncryption.tlsOptions como a ClientEncryption.

  • Cuando se habilita la autenticación, MongoClient ahora verifica una conexión fuera del pool de conexiones para forzar el apretón de manos inicial y la vuelve a verificar al conectarse. Esto previene comandos innecesarios de ping al conectar.

Para obtener más información sobre esta versión, consulte las notas de versión v6.19.0 en GitHub.

La versión6.18 del driver de Node.js incluye las siguientes funcionalidades:

  • Obsoleta los siguientes nodos y tipos:

    • Transaction.options()

    • Transaction.recoveryToken()

    • Transaction.isPinned()

    • Transaction.isStarting()

    • Transaction.isActive()

    • Transaction.isCommitted()

    • ClientMetadata

    • ClientMetadataOptions

    • CancellationToken

    • CommandOperationOptions.noResponse

    Estos nodos y tipos serán eliminados en una próxima versión importante del driver.

  • Agrega un método appendMetadata() que se puede usar para añadir metadatos de apretón de manos después de construir el objeto MongoClient. El siguiente ejemplo muestra cómo utilizar este método para agregar el nombre de la librería, la versión y la plataforma a un objeto MongoClient:

    import { MongoClient } from 'mongodb';
    const client = new MongoClient(process.env.MONGODB_URI);
    client.appendMetadata({ name: 'my library', version: '1.0', platform: 'NodeJS' });
  • Agrega una propiedad wallTime a todas las interfaces de eventos ChangeStream excepto a ChangeStreamRefineCollectionShardKeyEvent y ChangeStreamReshardCollectionDocument. Esta propiedad contiene la fecha y la hora del servidor de la operación de la base de datos.

  • Agrega una propiedad databaseName a los eventos CommandSucceededEvent y CommandFailedEvent. Esta propiedad contiene el nombre de la base de datos contra la cual la aplicación ejecutó el comando.

  • Cierra las conexiones inactivas durante los periodos de inactividad, incluso cuando la configuración minPoolSize está configurada en 0. Esto soluciona un error donde ConnectionPool no eliminaba conexiones inactivas o caducadas a menos que minPoolSize fuera mayor que 0.

  • El controlador asigna sesiones de forma perezosa cuando se itera un cursor. En versiones anteriores, el controlador asignaba sesiones siempre que se creaba un cursor, independientemente de si la aplicación recorría el cursor.

Para obtener más información sobre esta versión, consulte las notas de versión v6.18.0 en GitHub.

La versión6.17 del driver de Node.js incluye las siguientes funcionalidades:

  • Elimina el soporte para MongoDB Server 4.0.

  • Actualiza el paquete bson a la versión v6.10.4. Para obtener más información sobre esta versión, consulta las Notas de la versión v6.10.4 del paquete bson en GitHub.

  • Agrega la opción keepAliveInitialDelay al construir un MongoClient. Esta opción es por defecto 120000 milisegundos.

  • Vuelve a intentar la autenticación OIDC cuando la autenticación inicial falla debido a un error de token expirado.

  • Agrega la opción sort para las operaciones updateOne() y replaceOne(). Esta opción requiere MongoDB Server 8.0 o posteriores.

  • Indica al método MongoClient.close() que cierre las conexiones abiertas en uso.

  • Añade una opción de cifrado keyTimeoutMS para configurar el tiempo de expiración del caché de la DEK. Esta opción se establece por defecto en 6000 milisegundos y requiere mongodb-client-encryption versión 6.4 o posterior.

  • Instruye las operaciones de actualización para generar un error si el ignoreUndefined se establece en true y todas las actualizaciones no están definidas.

  • Trata los errores de socket como errores de red.

Para obtener más información sobre esta versión, consulte las notas de versión v6.17.0 en GitHub.

La versión6.16 del driver de Node.js incluye las siguientes funcionalidades:

  • El método Collection.distinct() ahora admite un parámetro opcional hint que puede usar para especificar el índice que se usará para el comando. Esta funcionalidad requiere MongoDB Server 7.1 o superior.

  • Corrige un error relacionado con el procesamiento de múltiples mensajes dentro de un mismo fragmento de datos de red, que podría ralentizar los tiempos de procesamiento.

  • Corrige un error donde FindCursor.rewind() generaba errores en ciertos casos.

  • Se descontinúa el soporte para MongoDB Server 4.0. El soporte se eliminará completamente en una futura versión menor.

Para obtener más información sobre esta versión, consulte las notas de versión v6.16.0 en GitHub.

La versión6.15 del driver de Node.js incluye las siguientes funcionalidades:

  • Agrega soporte para proporcionar credenciales personalizadas de AWS al configurar authentication or encriptación en uso. Debe proporcionar la firma de la función personalizada en la siguiente forma:

    () => Promise<AWS.Credentials>

    También puedes especificar cadenas de proveedores desde el AWS SDK, lo que permite personalizar tus opciones. Para ver ejemplos de cómo proporcionar credenciales personalizadas, consulte las Notas de la versión v6.15.0 en GitHub.

  • Corrige un error que causaba que un MongoClient configurado para OIDC con un AbortSignal se abortara en el cursor cuando el cliente se volvía a autenticar.

  • Corrige un error que provocaba que una reserva no controlada se lanzara cuando un timeoutms caducaba antes de que una operación llegara al proceso de selección de servidor.

  • Corrige un error causado por cerrar un flujo de cambio durante el procesamiento de un evento de cambio. Este error provocó que un error potencial rechazara una promesa interna que representa el cambio "siguiente".

Para obtener más información sobre esta versión, consulte las notas de versión v6.15.0 en GitHub.

La versión6.14 del driver de Node.js incluye las siguientes funcionalidades:

  • Añade soporte para la etapa de agregación $lookup en colecciones cifradas. Debe actualizar su paquete mongodb-client-encryption a la versión6.3.0 o posterior para utilizar esta funcionalidad.

  • Utiliza la implementación del método isUint8Array() del controlador para evitar la importación del paquete util/types.

  • Revierte la compatibilidad de la versión de @aws-sdk/credential-providers a v3.188.0.

Para obtener más información sobre esta versión, consulte las notas de versión v6.14.0 en GitHub.

La versión6.13 del driver de Node.js incluye las siguientes funcionalidades:

  • Agrega un nuevo registrador estandarizado para habilitar perspectiva sobre las operaciones de base de datos sin necesidad de hacer cambios en el código. Puedes habilitar y configurar el registrador a través de variables de entorno, como se muestra en el siguiente ejemplo:

    env MONGODB_LOG_ALL=debug node server.mjs

    Para aprender más sobre el registro, consulte la guía Registro.

  • Mejora el rendimiento de la supervisión de comandos al remover copias profundas de objetos de comandos y respuestas. Modificar los valores de comando y respuesta podría conducir a un comportamiento indefinido.

  • Añade una funcionalidad experimental de señal de interrupción. Puedes pasar el comando signal a los siguientes métodos para interrumpir la ejecución del método cuando se active la señal:

    • collection.find()

    • collection.findOne()

    • collection.aggregate()

    • collection.countDocuments()

    • db.listCollections()

    • db.command()

    Abortar una señal cierra una conexión, lo que podría provocar un restablecimiento de conexión innecesario.

  • Para evitar posibles errores de tiempo de espera de DNS, el controlador captura y reintenta las búsquedas de DNS al resolver mongodb+srv:// de cadenas de conexión.

  • MongoClient.close() también cierra cualquier cursor asociado.

  • Puedes invocar de forma segura MongoClient.close() de forma concurrente, pero no se recomienda hacerlo si se puede evitar.

  • Corrige un problema que causaba que la autenticación MONGODB-OIDC no se reautenticara correctamente si el handshake incluía la autenticación especulativa.

Para obtener más información sobre esta versión, consulte las notas de versión v6.13.0 en GitHub.

La versión6.12 del driver de Node.js incluye las siguientes funcionalidades:

  • Agrega compatibilidad con v2.0 del algoritmo de compresión zstd. Para más información sobre zstd v2.0, ver los zstd notas de versión en GitHub.

  • Actualiza el paquete bson a la versión v6.10.1. Para obtener más información sobre esta versión, consulta las Notas de la versión v6.10.1 del paquete bson en GitHub.

  • El driver rellena el campo ServerDescription.error con un tipo de error más específico y un mensaje al marcar como obsoleto a un miembro primario del set de réplicas.

  • El controlador lee datos del socket con un flujo en modo de objeto en lugar de modo de búfer. Esto evita errores de análisis de mensajes en casos raros causados por fragmentación inexacta de datos.

  • Si el controlador encuentra un error al conectarse a un proxy socks5, ya no envuelve el error socks5 en un MongoNetworkError. Esto evita que el controlador envuelva un MongoNetworkError en otro MongoNetworkError.

Para obtener más información sobre esta versión, consulte las notas de versión v6.12.0 en GitHub.

La versión6.11 del driver de Node.js incluye las siguientes funcionalidades:

  • Agrega compatibilidad con Node.js v22.

  • Agrega la funcionalidad de tiempo de espera para operaciones del lado del cliente (CSOT). Puede usar CSOT para aplicar un único tiempo de espera para todos los pasos necesarios para completar una operación del lado del servidor, incluidos la selección del servidor, la verificación de la conexión, la serialización y la ejecución en el lado del servidor. Para obtener más información, consulta la guía Limitar el tiempo de ejecución del servidor.

    Nota

    Funcionalidad Experimental

    La funcionalidad CSOT es experimental y podría cambiar en futuras versiones de driver.

  • Agrega soporte de autenticación OIDC para entornos de Kubernetes. Para aprender más sobre esta funcionalidad, consulta la guía de Mecanismo de autenticación OIDC.

    Para usar OIDC para autenticar desde un entorno Kubernetes, establezca la opción de conexión authMechanismProperties en ENVIRONMENT:k8s en su cadena de conexión. Puedes utilizar esta funcionalidad al conectarte a un entorno que ejecute en Amazon Elastic Kubernetes Service, Google Kubernetes motor o Azure Kubernetes Service.

  • El paquete bson añade soporte para datos vectoriales binarios. Para aprender más sobre esta funcionalidad, consulte las notas de versión v6.10.0 del paquete bson en GitHub.

  • El controlador emite ConnectionClosedEvents después de PoolClearedEvents.

Para obtener más información sobre esta versión, consulte las notas de versión v6.11.0 en GitHub.

La versión v6.10 del driver de Node.js es la primera versión oficial en admitir todas las funcionalidades del servidor MongoDB 8.0 e incluye las siguientes mejoras y soluciones:

  • Elimina el soporte para MongoDB Server 3.6.

  • Agrega soporte para la API de escritura masiva del Servidor MongoDB 8.0, la cual soporta operaciones de escritura masiva en múltiples bases de datos y colecciones en una sola llamada.

  • Permite nombres de host SRV con menos de tres partes separadas por caracteres .. Por ejemplo, el controlador ahora admite nombres de host como mongodb+srv://mongodb.local.

  • Admite la opción "explain" para recuperar un valor maxTimeMS preciso para los comandos CRUD para describir el operation time. Las opciones de explicación para las operaciones de búsqueda y agregación están en desuso.

Para obtener más información sobre esta versión, consulte las notas de versión v6.10.0 en GitHub.

  • El soporte para MongoDB Server 3.6 está en desuso y será eliminado en una futura versión de driver.

  • El controlador admite de manera nativa la gestión explícita de recursos para los cursores y los objetos MongoClient, ClientSession y ChangeStream. Cuando utilices una versión compatible de Node.js, puedes implementar una gestión explícita de recursos utilizando el método cursor.stream() y la clase GridFSDownloadStream.

    Para aprender a utilizar la gestión explícita de recursos, consulta las Notas de la Versión v6.9.0 en GitHub. Para obtener más información sobre la gestión explícita de recursos, consulta la Propuesta de gestión explícita de recursos de ECMAScript en el sitio web de TC39.

  • Si utilizas Node.js 18.13 o una versión posterior, puedes pasar las opciones autoSelectFamily y autoSelectFamilyTimeout al constructor MongoClient. Cuando la opción autoSelectFamily está en true, el controlador selecciona automáticamente entre una conexión IPv4 o IPv6. La opción autoSelectFamilyTimeout especifica el tiempo de espera, en milisegundos, para que el controlador seleccione la familia de conexiones.

    El siguiente ejemplo de código muestra cómo usar estas opciones:

    const client = new MongoClient(uri,
    { autoSelectFamily: true, autoSelectFamilyTimeout: 100 });
  • El constructor MongoClient acepta la opción allowPartialTrustChain. Esta opción controla la bandera X509_V_FLAG_PARTIAL_CHAIN de OpenSSL.

  • El ConnectionCheckedOutEvent y el ConnectionCheckFailedEvent ahora incluyen una propiedad durationMS. Esta propiedad indica el tiempo transcurrido entre el inicio y el final de una operación de checkout de conexión.

  • Si estás utilizando Node.js 18 o posterior, el controlador ignora la opción cryptoCallbacks y utiliza devoluciones de llamada definidas en C++, lo que mejora significativamente el rendimiento del cifrado. Este cambio está disponible en la versión6.1.0 versión del paquete mongodb-client-encryption.

  • Para mejorar la seguridad, las opciones que especifican la ruta de generación y los argumentos para mongocryptd deben ser propiedades propias de autoEncryption.extraOptions. Este cambio ayuda a prevenir errores de contaminación global del prototipo relacionados con estas opciones. Para obtener más información sobre las propiedades propias, consulta Object.hasOwn() en MDN.

  • Añade soporte oficial para consultas por rango de Queryable Encryption (QE). Para utilizar esta funcionalidad, su aplicación debe emplear mongodb-client-encryption v6.1.0 o versiones posteriores y debe conectarse a MongoDB Server 8.0 o versiones posteriores. Para obtener más información sobre las consultas de rango de QE, consulte la sección Queryable Encryption en el manual de MongoDB Server.

  • Los métodos insertMany() y bulkWrite() aceptan entradas de ReadonlyArray.

  • El driver reintenta las operaciones de guardado en función del código de nivel superior, encontrado en error.code, en lugar del código anidado en error.result.writeConcernError.code. Esto soluciona un problema en clústeres fragmentados que utilizan versiones de MongoDB Server anteriores a 4.4.

  • La propiedad LocalKMSProviderConfiguration.key acepta una instancia de BSON Binary para AutoEncryptionOptions.

  • En TypeScript, la clase BulkOperationBase reporta la propiedad getter length.

  • El tipo MongoWriteConcernError ahora conserva el código original de nivel superior en MongoWriteConcernError.code.

  • El método cursor.toArray() vacía el lote actual de documentos en el arreglo antes de volver a llamar al iterador asíncrono. Este cambio evita los retrasos asociados con la ejecución async/await y mejora el rendimiento en un 5% en promedio. Esta optimización no se aplica si proporcionas una transformación al método cursor.map() antes de llamar al método toArray().

  • Corrige el uso mixto del método cursor.next() con la sintaxis for await.

  • Agrega la opción enableUtf8Validation al deserializar BSON, que se eliminó inadvertidamente en el driver de Node.js versión6.8.

  • Agrega la propiedad durationMS a la clase ConnectionReadyEvent. Esta propiedad representa el tiempo entre el evento de creación de la conexión y cuando se activa el ConnectionReadyEvent.

Para obtener más información sobre esta versión, consulte las notas de versión v6.9.0 en GitHub.

La versión6.8 del driver de Node.js incluye las siguientes funcionalidades:

  • Corrige un error por el que un proveedor local de KMS aceptaba una instancia BSON Binary en tiempo de ejecución, pero el compilador de TypeScript solo permitía valores de tipo Buffer y string.

  • El error ReadConcernMajorityNotAvailableYet ahora se puede volver a intentar como error de lectura.

  • Ahora puedes asociar un nombre y proporcionar múltiples claves para los proveedores de KMS. Esta funcionalidad requiere mongodb-client-encryption v6.0.1 o posterior. No puedes usar proveedores de KMS con nombre si tu aplicación utiliza la capacidad de actualización automática del proveedor de KMS.

    El siguiente ejemplo de código muestra cómo configurar un objeto ClientEncryption con múltiples claves de AWS:

    const clientEncryption = new ClientEncryption(keyVaultClient, {
    'aws:key1': {
    accessKeyId: ...,
    secretAccessKey: ...
    },
    'aws:key2': {
    accessKeyId: ...,
    secretAccessKey: ...
    },
    clientEncryption.createDataKey('aws:key-1', { ... });
  • Cuando crea una clave de datos KMIP, ahora puede especificar la opción delegated. Si esta opción está establecida en true, el proveedor de KMIP realiza el cifrado y descifrado de la clave de datos localmente, garantizando que la llave de cifrado nunca abandone el servidor KMIP. Esta funcionalidad requiere mongodb-client-encryption v6.0.1 o posterior.

    El siguiente ejemplo de código muestra cómo especificar esta opción:

    clientEncryption.createDataKey('kmip', { masterKey: { delegated: true } } );
  • El controlador ahora decodifica las respuestas BSON a medida que el cursor las recorre, en lugar de decodificar toda la respuesta BSON cuando se recibe.

  • La versión de Github para el paquete mongodb ahora incluye un archivo de firma separado, mongodb-X.Y.Z.tgz.sig, para el paquete NPM. Este cambio se aplica a cada versión principal y de parche de las versiones 5.x y 6.x del controlador. Para verificar la firma del paquete, sigue las instrucciones de la sección Integridad de la publicación del archivo README.md en el repositorio de GitHub del controlador.

Para obtener más información sobre esta versión, consulte las notas de versión v6.8.0 en GitHub.

La versión6.7 del driver de Node.js incluye las siguientes funcionalidades:

  • Agrega soporte para el mecanismo de autenticación MONGODB-OIDC cuando se conecta con MongoDB Server v7.0 y versiones posteriores. El driver es compatible con la autenticación por máquina de Azure, autenticación por máquina de GCP, autenticación por función de retorno y autenticación de interacción humana por función de retorno faceta.

  • Soluciona un problema donde configurar el indicador useBigInt64 en true causaba que la función interna compareTopologyVersion generara un error.

Para obtener más información sobre esta versión, consulte las notas de versión v6.7.0 en GitHub.

La versión6.6 del driver de Node.js incluye las siguientes funcionalidades:

  • Actualizaciones para usar BSON 6.7.0. Para obtener detalles sobre las nuevas funcionalidades de BSON, consulta las notas de versión de BSON 6.5.0, BSON 6.6.0, y BSON 6.7.0.

  • Agrega el método addStage() a la API de agregación fluida. Puedes usar este método para agregar etapas del pipeline de agregación individualmente, como se muestra en el siguiente ejemplo:

    const documents = await users.aggregate().addStage({ $project: { name: true } }).toArray();
  • Agrega los campos cause y dependencyName a la clase MongoMissingDependencyError. Puedes usar estos campos para determinar de manera automatizada si falta un paquete o por qué un paquete no se cargó.

  • Agrega la propiedad minRoundTripTime a la clase ServerDescription. Esta propiedad contiene el tiempo mínimo de ida y vuelta durante los últimos 10 pulsos de latido.

  • Agrega el método toJSON() a la clase TopologyDescription. Aunque puedes utilizar este método para convertir objetos TopologyDescription a JSON, recomendamos utilizar el método util.inspect() de Node en su lugar, ya que gestiona correctamente todos los tipos utilizados en JavaScript y el controlador.

  • Agrega soporte para opciones de cursor a los métodos Collection.indexExists(), Collection.indexes() y Collection.indexInformation() en Typescript.

  • Remueve el soporte para las opciones readConcern y writeConcern del método Collection.listSearchIndexes(). listSearchIndexes() es un método específico de Atlas, y los índices de búsqueda de Atlas no admiten estas opciones.

  • Redefine el ServerDescription.roundTripTime propiedad como un promedio móvil. Anteriormente, era un promedio ponderado de la duración del latido cardíaco observada más recientemente y la duración anterior.

  • Puedes especificar el tipo de índice de búsqueda al crear el índice, como se muestra en el siguiente ejemplo:

    const indexName = await collection.createSearchIndex({
    name: 'my-vector-search-index',
    type: 'vectorSearch',
    definition: {
    mappings: { dynamic: false }
    }
    });
  • La propiedad UpdateFilter.$currentDate ya no genera un error cuando se pasa a un método compuesto, como findOneAndUpdate(), en una colección con un esquema limitado.

  • El controlador arroja un MongoTransactionError sólo si se proporciona un ReadPreferenceMode distinto de primary y luego se intenta realizar un comando que implique una operación de lectura.

  • El tipo de dato de la propiedad TopologyDescription.error es MongoError.

  • El método Collection.indexExists() ya no admite la opción full.

  • Los métodos Collection.indexInformation(), Collection.indexes(), y Db.indexInformation() tienen un tipo de retorno de IndexDescriptionCompact | IndexDescriptionInfo[] en TypeScript.

  • Al recuperar las credenciales de AWS KMS (Key Gestión System), el driver ya no lanza un error cuando recibe una clave de acceso que incluye una marca de tiempo de expiración.

  • La interfaz ClusterTime ya no define el campo signature como obligatorio en TypeScript.

Para obtener más información sobre esta versión, vea los Aspectos destacados de la versión v6.6.0 en GitHub.

La versión6.5 del driver de Node.js incluye las siguientes funcionalidades:

  • Actualiza las operaciones de escritura masiva para utilizar la clase pkFactory para la generación de ID de documentos.

Advertencia

Si anteriormente se especificaste una instancia de un pkFactory para gestionar escrituras en bloque, los campos _id de los documentos insertados mediante escrituras en bloque pueden ser inconsistentes con el comportamiento en esta versión.

  • Corrige el parámetro de preferencia de lectura que se envía con las operaciones de lectura a primaryPreferred cuando el driver está conectado a un nodo secundario en el set de réplicas.

  • Arregla una fuga de memoria en la creación de promesas para operaciones de socket.

  • Reduce la latencia de la conexión inicial al conectarse a una lista de nodos iniciales DNS haciendo consultas a los registros SRV y TXT en paralelo.

  • Agrega seguimiento a los metadatos del contenedor al ejecutar un cliente en Kubernetes o un entorno de contenedor en el campo client.env.container del documento de apretón de manos.

  • Agrega el documento de error original devuelto por el servidor al campo errorResponse del documento MongoServerError.

  • Desaprueba la interfaz CloseOptions, que no es utilizada por el controlador.

Para obtener más información sobre esta versión, vea los Aspectos destacados de la versión v6.5.0 en GitHub.

La versión6.4 del driver de Node.js incluye las siguientes funcionalidades:

  • Cuando hay varias instancias mongos disponibles, se usan diferentes servidores para los intentos de reintento de lectura y escritura.

  • Guarda en caché las credenciales de AWS a nivel del cliente, en lugar de por cada autenticación.

  • Actualización para usar BSON 6.4.0. Para detalles sobre las nuevas funcionalidades de BSON, revisa las notas de versión para BSON 6.3.0 y BSON 6.4.0.

  • Las operaciones de lectura que resulten en un error ExceededTimeLimit se vuelven a intentar.

  • Corrige un problema de solicitud relacionado con los sockets TLS y los proveedores KMS.

  • Corrige el relleno base64 en el comando saslContinue para permitir la autenticación de mongosh.

  • Tipifica countDocuments usando Filter<Schema> en lugar de Document, lo que permite la autocompletación y ayuda a prevenir problemas de tipificación posteriores.

  • Corrige un error de tipo en la opción $addToSet del comando bulkWrite. El controlador omite la validación $addToSet si extiendes tus tipos desde Document o any, o si utilizas propiedades de cualquier tipo.

  • Corrige la duración del latido del evento ServerHeartbeatSucceeded y ServerHeartbeatFailed para que no incluya el tiempo de creación del socket.

  • Emite correctamente los errores de las secuencias de transformación del cursor en lugar de absorberlos.

  • Hace que los tokens de sesión de AWS sean opcionales cuando se proporciona un nombre de usuario y una contraseña, y permite que AWS SDK gestione las solicitudes de autenticación.

Para obtener más información sobre esta versión, vea los Aspectos destacados de la versión v6.4.0 en GitHub.

La versión 6.3 del driver de Node.js incluye las siguientes funcionalidades:

  • Agrega la opción del cliente serverMonitoringMode para controlar el comportamiento de la conexión de supervisión entre los nodos en una topología. Esta opción toma un valor de auto (por defecto), poll o stream. Para obtener más información, consulta la entrada de esta opción en la guía Especificar opciones de conexión.

    Puedes establecer la opción serverMonitoringMode en una instancia de MongoClientOptions o como una opción de cadena de conexión. El siguiente ejemplo muestra cómo crear un cliente con la opción configurada en stream:

    new MongoClient('<connection string>', { serverMonitoringMode: 'stream' });
  • Corrige una fuga de conexión cuando se establece la opción de cliente serverApi.

  • Depreca las opciones de GridFS contentType y aliases. Para almacenar el tipo de contenido y los alias de un archivo, añade los campos contentType y aliases al documento metadata.

Para aprender más sobre este lanzamiento, ver v6.3.0 Release Highlights.

La versión 6.2 del driver de nodo.js incluye las siguientes funcionalidades:

  • Actualiza la versión del paquete bson a la 6.2.0 para incluir la visualización de colores de los tipos, como se muestra en la siguiente imagen:

    Una captura de pantalla del terminal que muestra la impresión en color

    Para obtener más información, consulta las notas de versión de bson v6.2.0.

  • Asegura que la propiedad result.insertedIds de un tipo de error de escritura masiva contenga los valores _id de los documentos insertados con éxito. En versiones anteriores, cuando una operación de escritura masiva rechazaba una inserción, la propiedad result.insertedIds contenía los valores _id para todas las inserciones intentadas.

  • Cierra la sesión implícita creada al ejecutar el método findOne() en una colección de series de tiempo, independientemente del resultado de la operación.

  • Permite la creación de colecciones cuyos nombres comienzan o terminan con el carácter .. Este cambio alinea el comportamiento del controlador para la verificación de la base de datos y el nombre de la colección con el del servidor.

Para aprender más sobre este lanzamiento, ver v6.2.0 Release Highlights.

La versión 6.1 del driver de Node.js incluye las siguientes funcionalidades:

  • Actualiza la versión del paquete bson a 6.1.0 para exponer el método Decimal128.fromStringWithRounding(). Para obtener más información, consulta las notas de versión6.1.0 de BSON.

  • Detecta variables de entorno para la configuración de la región cuando te autenticas usando la acción IAM AssumeRoleWithWebIdentity con la autenticación MONGODB-AWS. Para indicar al controlador que use tus opciones de región, debes configurar ambas variables de entorno siguientes:

    • AWS_STS_REGIONAL_ENDPOINTS

    • AWS_REGION

    Para aprender a configurar las preferencias de región al usar el mecanismo de autenticación MONGODB-AWS, consulta el Web Identity Token pestaña en la guía AWS IAM mecanismo de autenticación.

  • Soluciona un problema de fuga de memoria causado por llamadas recursivas al método next() del tipo ChangeStream.

Para aprender más sobre este lanzamiento, ver v6.1.0 Release Highlights.

Advertencia

Cambios disruptivos en la v6.0

Esta versión del driver introduce cambios disruptivos. Para obtener una lista de estos cambios, consulta la sección Cambios disruptivos de la versión 6.0 en la guía de actualización.

La versión 6.0 del driver de Node.js incluye las siguientes funcionalidades:

Importante

Aviso de obsolescencia

Todas las opciones con el prefijo sslen el tipo MongoClientOptions están obsoletas. Además, la opción tlsCertificateFile está en desuso.

En su lugar, deben almacenar sus certificados en un objeto SecureContext o configurar las opciones con prefijo tlsen su instancia de MongoClientOptions. Para obtener más información, consulte Habilitar TLS en una conexión.

  • Eliminación del soporte para el comando asistente addUser(). Utiliza el comando createUser de MongoDB Shell en su lugar.

  • Eliminación del soporte para la operación collStats. Usa el operador de agregación $collStats en su lugar.

  • El campo options del tipo ConnectionPoolCreatedEvent contiene solo los siguientes campos, que son las opciones de grupo no por defecto:

    • maxConnecting

    • maxPoolSize

    • minPoolSize

    • maxIdleTimeMS

    • waitQueueTimeoutMS

  • El controlador lee asincrónicamente los archivos establecidos en las opciones de conexión tlsCAFile y tlsCertificateKeyFile cuando llamas al método MongoClient.connect(), no cuando creas una instancia de MongoClient.

  • Eliminación de las opciones de conexión keepAlive y keepAliveInitialDelay. El valor de keepAlive se establece permanentemente en true y el valor de keepAliveInitialDelay se establece en 300000 milisegundos (300 segundos).

    Para aprender cómo configurar los parámetros de keepalive a nivel de sistema, consulta ¿Afecta el tiempo de keepalive de TCP a las implementaciones de MongoDB? Entrada de preguntas frecuentes en el manual del Servidor.

  • Remueve las siguientes opciones para el método Db.command():

    • willRetryWrite

    • omitReadPreference

    • writeConcern

    • explain

    • readConcern

    • collation

    • maxTimeMS

    • comment

    • retryWrites

    • dbName

    • authdb

    • noResponse

    Aunque no puedes pasar estas opciones al método Db.command(), aún puedes establecerlas en el documento de comando. Para obtener más información, consulta la sección Opciones de Comando de la guía Ejecutar un comando de base de datos.

Para aprender más sobre este lanzamiento, ver v6.0.0 Release Highlights.

Volver

Implementar una aplicación en Vercel

En esta página