Docs Menu
Docs Home
/ /

Notas de versión

Conozca las novedades en:

  • Versión 7.1

  • Versión 7.0

  • 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ón v7.1 del controlador Node.js incluye las siguientes características:

  • Añade lógica para MONGODB-AWS autenticación al controlador, por lo que el paquete aws4 ya no es necesario para usar la autenticación MONGODB-AWS. Para obtener más información sobre la autenticación MONGODB-AWS, consulte Guía delmecanismo de autenticación de AWS IAM.

  • Mejora la compatibilidad en tiempo de ejecución al eliminar todos los usos de util.promisify.

  • Utiliza la importación explícita node:process en lugar de global.process para que los empaquetadores y los tiempos de ejecución alternativos puedan suministrar y optimizar la implementación del proceso de manera más consistente.

  • Reemplaza varias API específicas de Node con equivalentes basados ​​en estándares para reducir la cantidad de parches necesarios para ejecutar el controlador fuera de Node.js:

    • process.arch es ahora os.arch()

    • process.platform es ahora os.platform()

    • os.endianness() es ahora BSON.NumberUtils

    • process.hrtime() es ahora performance.now()

    • process.nextTick() es ahora queueMicrotask()

  • Mejora el comportamiento de reintento:

    • Evita la rotación innecesaria del grupo de conexiones cuando la limitación de velocidad de conexión del lado del servidor está habilitada, ya que ya no borra el grupo cuando fallan las conexiones.

    • Agrega un retroceso exponencial al comportamiento de reintento withTransaction().

    • Desprioriza los servidores sobrecargados o fallidos durante los reintentos de selección de servidores.

  • Mejoras en la autenticación de OIDC:

    • Expande la lista predeterminada OIDC ALLOWED_HOSTS para incluir *.mongo.com.

    • Corrige la reautenticación de OIDC cuando promoteValues: false está habilitado.

  • Corrige el manejo de preferencias de lectura para agregaciones que utilizan $merge y $out.

  • Se desestima RenameCollectionOptions.new_collection para su eliminación futura

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

Advertencia

Cambios importantes en v7.0

Esta versión del controlador presenta cambios importantes. Para obtener una lista de estos cambios, consulte la 7.0 sección "Cambios importantes de la versión " en la guía de actualización.

La versión v7.0 del controlador Node.js incluye las siguientes características:

  • Actualiza la versión mínima de Node.js a v20.19.0.

  • Se actualizan bson las mongodb-connection-string-url versiones y 7.0.0 a. Para obtener más información sobre la funcionalidad actualizada de BSON para7.0.0 la versión, consulte los cambios descritos en las notas de la versión de BSON v.7

  • Actualiza la matriz de dependencia de pares para los siguientes paquetes a los siguientes rangos permitidos:

    • @aws-sdk/credential-providers: ^3.806.0

    • @mongodb-js/zstd: ^2.0.0

    • gcp-metadata: ^7.0.1

    • socks: ^2.8.6

    Para ver la tabla de compatibilidad de dependencias completa, consulte la tabla de compatibilidad de componentes de Node.js en la página Tablas de compatibilidad de controladores.

  • Mejora la consistencia MongoClient.connect() en todos los entornos al permitir que la función connect() ejecute un protocolo de enlace independientemente de si las credenciales están definidas.

  • Actualiza MongoClient.close() para intentar limpiar sesiones solo si la topología admite sesiones.

  • Marca el parámetro de opciones para el método ClientEncryption.rewrapManyDataKey() como opcional para resolver un desajuste de TypeScript.

  • Envuelve las llamadas socket.write en un bloque try/catch para garantizar que los errores resulten correctamente en un reintento.

  • Se incluyen cambios importantes para la autenticación de AWS. Para obtener más información sobre estos cambios, consulte la 7.0 sección "Cambios importantes de la versión " en la guía de actualización.

  • Agrega las siguientes mejoras en el manejo de errores:

    • Cuando se elimina una colección, esta devuelve false en lugar de generar errores namespace not found.

    • La agregación con writeConcern y explain genera un MongoServerError en lugar de un error del lado del cliente.

    • Todos los errores arrojados durante el cifrado son subclases de MongoError.

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

La versión v6.21 del controlador Node.js incluye las siguientes características:

  • Deja obsoletas las siguientes propiedades e interfaces, que se eliminarán en v7.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ón v6.20 del controlador Node.js incluye las siguientes características:

  • Ya no se genera un error al usar la opción hint para comandos update no confirmados. Al conectarse a MongoDB Server 4.4 o posterior, el controlador también admite la opción hint para comandos delete y findAndModify no confirmados.

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

  • Deja obsoleta la clase ServerCapabilities.

  • Deja obsoleta la propiedad ReadPreference.minWireVersion.

  • Deja obsoletas las siguientes MongoClient opciones:

    • driverInfo

    • additionalDriverInfo

    • metadata

    • extendedMetadata

  • Se desestima la opción CommandOperationOptions.retryWrites. El controlador de Node.js solo admite la opción retryWrites en el nivel MongoClient y ya la ignoraba al configurarse en el 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 compilación en el código.

  • Actualiza el resumeToken al usar el método tryNext() para iterar eventos del flujo de cambios. Las versiones anteriores del controlador no actualizaban el resumeToken, lo que generaba un comportamiento inconsistente durante la iteración del flujo de cambios.

  • Permite que los flujos de cambio se reanuden después de que el controlador encuentre 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ón v6.19 del controlador Node.js incluye las siguientes características:

  • 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 se encuentra en versión preliminar y debe usarse únicamente para cargas de trabajo experimentales.

  • Deja obsoletas las siguientes opciones para las operaciones findOne():

    • limit

    • noCursorResponse

    • batchSize

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

  • Se añade compatibilidad para especificar de secureContext a tlsOptions:<provider> en las opciones autoEncryption del objeto MongoClient o como opción del objeto ``ClientEncryption``. Esto permite pasar tlsCAFile y tlsCertificateKeyFile como opciones en memoria a MongoClientOptions.autoEncryption.tlsOptions y ClientEncryption.

  • Cuando la autenticación está habilitada, el MongoClient verifica una conexión fuera del pool de conexiones para forzar el protocolo de enlace inicial y la vuelve a registrar al conectarse. Esto evita comandos ping innecesarios al conectarse.

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

La versión v6.18 del controlador Node.js incluye las siguientes características:

  • Deja obsoletos los siguientes miembros y tipos:

    • Transaction.options()

    • Transaction.recoveryToken()

    • Transaction.isPinned()

    • Transaction.isStarting()

    • Transaction.isActive()

    • Transaction.isCommitted()

    • ClientMetadata

    • ClientMetadataOptions

    • CancellationToken

    • CommandOperationOptions.noResponse

    Estos miembros y tipos se eliminarán en una próxima versión principal del controlador.

  • Añade un método appendMetadata() que permite añadir metadatos de protocolo de enlace después de construir el objeto MongoClient. El siguiente ejemplo muestra cómo usar este método para añadir el nombre de la biblioteca, 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' });
  • Añade una propiedad wallTime a todas las interfaces de evento ChangeStream, excepto ChangeStreamRefineCollectionShardKeyEvent y ChangeStreamReshardCollectionDocument. Esta propiedad contiene la fecha y hora del servidor en que se realizó la operación de la base de datos.

  • Añade una propiedad databaseName a los eventos CommandSucceededEvent y CommandFailedEvent. Esta propiedad contiene el nombre de la base de datos en la que la aplicación ejecutó el comando.

  • Cierra las conexiones inactivas durante periodos de inactividad, incluso cuando el valor minPoolSize está establecido en 0. Esto corrige un error por el cual el valor ConnectionPool no eliminaba las conexiones inactivas o fallidas a menos que el valor minPoolSize fuera mayor que 0.

  • El controlador asigna sesiones de forma diferida al iterar un cursor. En versiones anteriores, el controlador asignaba sesiones cada vez que se creaba un cursor, independientemente de si la aplicación lo iteraba.

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

La versión v6.17 del controlador Node.js incluye las siguientes características:

  • Elimina la compatibilidad con MongoDB Server 4.0.

  • Actualiza el bson paquete a la6.10.4 versión v. Para obtener más información sobre esta versión, consulte las 6.10.4 notas de la versión v del bson paquete en GitHub.

  • Añade la opción keepAliveInitialDelay al construir un MongoClient. El valor predeterminado de esta opción es 120000 milisegundos.

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

  • Añade la opción sort para las operaciones updateOne() y replaceOne(). Esta opción requiere MongoDB Server 8.0 o posterior.

  • 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 de la caché DEK. Esta opción tiene un valor predeterminado de 6000 milisegundos y requiere la versión 6.4 o posterior de mongodb-client-encryption.

  • Indica a las operaciones de actualización que generen un error si ignoreUndefined está establecido 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ón v6.16 del controlador Node.js incluye las siguientes características:

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

  • Corrige un error con el procesamiento de múltiples mensajes dentro de un fragmento de datos de red que podría provocar que los tiempos de procesamiento se ralenticen.

  • Corrige un error en el que FindCursor.rewind() arrojaba errores en ciertos casos.

  • Se desestima la compatibilidad con MongoDB Server 4.0. Esta compatibilidad se eliminará por completo 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ón v6.15 del controlador Node.js incluye las siguientes características:

  • Se añade compatibilidad para proporcionar credenciales personalizadas de AWS al configurar la autenticación o el cifrado en uso. Debe proporcionar la firma de la función personalizada con el siguiente formato:

    () => Promise<AWS.Credentials>

    También puede especificar cadenas de proveedores desde el SDK de AWS, lo que le permite personalizar sus 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 cancelara en el cursor cuando el cliente se volvía a autenticar.

  • Corrige un error que causaba que se lanzara un rechazo no controlado cuando un timeoutms expiraba antes de que una operación llegara al proceso de selección del servidor.

  • Se corrige un error causado por el cierre de un flujo de cambios al procesar un evento de cambio. Este error provocaba un posible error al rechazar una promesa interna que representaba el "próximo" cambio.

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

La versión v6.14 del controlador Node.js incluye las siguientes características:

  • Añade compatibilidad con la $lookup etapa de agregación en colecciones cifradas. Debe actualizar su mongodb-client-encryption paquete a la versión 70006.3.0 o posterior para usar esta función.

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

  • Revierte la compatibilidad de la versión @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ón v6.13 del controlador Node.js incluye las siguientes características:

  • Añade un nuevo registrador estandarizado que permite comprender las operaciones de la base de datos sin modificar el código. Puede habilitar y configurar el registrador mediante variables de entorno, como se muestra en el siguiente ejemplo:

    env MONGODB_LOG_ALL=debug node server.mjs

    Para obtener más información sobre el registro, consulte la guía de registro.

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

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

    • collection.find()

    • collection.findOne()

    • collection.aggregate()

    • collection.countDocuments()

    • db.listCollections()

    • db.command()

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

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

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

  • Puedes invocar MongoClient.close() de forma segura simultáneamente, pero no recomendamos hacerlo si es posible evitarlo.

  • Corrige un problema que causaba que la autenticación MONGODB-OIDC no se volviera a autenticar correctamente si el protocolo de enlace incluye 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ón v6.12 del controlador Node.js incluye las siguientes características:

  • Añade compatibilidad con2.0 la zstd versión 7600 del algoritmo de compresión. Para obtener más información sobre zstd 2.0la zstd versión 8000 de, consulta las notas de la versión en GitHub.

  • Actualiza el bson paquete a la6.10.1 versión v. Para obtener más información sobre esta versión, consulte las 6.10.1 notas de la versión v del bson paquete en GitHub.

  • El controlador rellena el campo ServerDescription.error con un tipo de error y un mensaje más específicos cuando marca como obsoleto un miembro del conjunto de réplicas principal.

  • 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 encapsula el error socks5 en un MongoNetworkError. Esto evita que el controlador encapsula 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ón v6.11 del controlador Node.js incluye las siguientes características:

  • Agrega soporte para Node.js v22.

  • Añade la función Tiempo de espera de operaciones del lado del cliente (CSOT). Puede usar CSOT para aplicar un tiempo de espera único a todos los pasos necesarios para completar una operación del lado del servidor, incluyendo la selección del servidor, la verificación de la conexión, la serialización y la ejecución del servidor. Para obtener más información, consulte la guía "Limitar el tiempo de ejecución del servidor".

    Nota

    Característica experimental

    La función CSOT es experimental y podría cambiar en futuras versiones de controladores.

  • Añade compatibilidad con la autenticación OIDC para entornos de Kubernetes. Para obtener más información sobre esta función, consulte la guía del mecanismo de autenticación OIDC.

    Para usar OIDC para autenticarse desde un entorno de Kubernetes, configure la opción de conexión authMechanismProperties como ENVIRONMENT:k8s en su cadena de conexión. Puede usar esta función al conectarse a un entorno que se ejecute en Elastic Kubernetes Service de Amazon, Google Kubernetes Engine o Azure Kubernetes Service.

  • El bson paquete añade compatibilidad con datos vectoriales binarios. Para obtener más información sobre esta función, consulte las notas de la versión v6.10.0 del bson paquete 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 controlador Node.js es la primera versión oficial que admite todas las características de MongoDB Server 8.0 e incluye las siguientes mejoras y correcciones:

  • Elimina la compatibilidad con 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.

  • Se admite la opción de explicación para recuperar un valor maxTimeMS preciso para los comandos CRUD que describen el tiempo de la operación. Las opciones de explicación para las operaciones de búsqueda y agregación están obsoletas.

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

  • La compatibilidad con MongoDB Server 3.6 está obsoleta y se eliminará en una futura versión del controlador.

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

    Para aprender a usar la gestión explícita de recursos, consulte 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, consulte la propuesta de gestión explícita de recursos de ECMAScript en el39 sitio web de TC.

  • 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 utilizar estas opciones:

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

  • Los valores ConnectionCheckedOutEvent y ConnectionCheckFailedEvent ahora incluyen la propiedad durationMS. Esta propiedad indica el tiempo transcurrido entre el inicio y el final de una operación de verificación de conexión.

  • Si usa 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ón v6.1.0 del paquete mongodb-client-encryption.

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

  • Añade compatibilidad oficial con consultas de rango de Cifrado Consultable (QE). Para usar esta función, su aplicación debe usar mongodb-client-encryption v6.1.0 o posterior y conectarse a MongoDB Server 8.0 o posterior. Para obtener más información sobre las consultas de rango de QE,consulte Cifrado Consultable en el manual de MongoDB Server.

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

  • El controlador reintenta las escrituras basándose en el código de nivel superior, que se encuentra en error.code, en lugar del código anidado en error.result.writeConcernError.code. Esto soluciona un problema en clústeres fragmentados que ejecutan 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 informa la propiedad captadora 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 la matriz antes de volver a llamar al iterador asíncrono. Este cambio evita los retrasos asociados con la ejecución de async/await y mejora el rendimiento hasta en un 5% de media. Esta optimización no se aplica si se proporciona 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 sintaxis for await.

  • Agrega la opción enableUtf8Validation al deserializar BSON, que se eliminó inadvertidamente en el controlador Node.js v6.8.

  • Añade la propiedad durationMS a la clase ConnectionReadyEvent. Esta propiedad representa el tiempo transcurrido entre la creación de la conexión y la activación de ConnectionReadyEvent.

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

La versión v6.8 del controlador Node.js incluye las siguientes características:

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

  • El error ReadConcernMajorityNotAvailableYet ahora es un error de lectura que se puede volver a intentar.

  • Ahora puede asociar un nombre a proveedores KMS y proporcionarles varias claves. Esta función requiere la versión mongodb-client-encryption v6.0.1 o posterior. No puede usar proveedores KMS con nombre si su aplicación utiliza la función de actualización automática de proveedores 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', { ... });
  • Al crear una clave de datos KMIP, ahora puede especificar la opción delegated. Si esta opción se establece en true, el proveedor de KMIP realiza el cifrado y descifrado de la clave de datos localmente, garantizando así que nunca salga del servidor KMIP. Esta función 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 itera sobre ellas, en lugar de decodificar la respuesta BSON completa cuando se recibe.

  • La versión de GitHub del mongodb paquete ahora contiene un archivo de firmamongodb-X.Y.Z.tgz.sig independiente,, para el paquete NPM. Este cambio se aplica a todas las versiones principales y parches de las 5 versiones.x 6 y.x del controlador. Para verificar la firma del paquete, siga las instrucciones de la sección "Integridad de la versió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ón v6.7 del controlador Node.js incluye las siguientes características:

  • Añade compatibilidad con el mecanismo de autenticación MONGODB-OIDC al conectarse a MongoDB Server v7.0 y versiones posteriores. El controlador admite la autenticación con las facetas de autenticación de máquinas de Azure, autenticación de máquinas de GCP, autenticación de devolución de llamada y autenticación de devolución de llamada de interacción humana.

  • Corrige un problema en el que al configurar el indicador useBigInt64 en true la función interna compareTopologyVersion generaba 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ón v6.6 del controlador Node.js incluye las siguientes características:

  • Actualizaciones para usar BSON.6.7.0 Para obtener más información sobre las nuevas funciones de BSON, consulte las notas de la versión de BSON,6.5.0 BSON,,6 60y BSON,,.670

  • Añade el método addStage() a la API de agregación fluida. Puedes usar este método para añadir etapas de la canalización de agregación individualmente, como se muestra en el siguiente ejemplo:

    const documents = await users.aggregate().addStage({ $project: { name: true } }).toArray();
  • Añade los campos cause y dependencyName a la clase MongoMissingDependencyError. Puedes usarlos para determinar programáticamente si falta un paquete o por qué no se cargó.

  • Añade la propiedad minRoundTripTime a la clase ServerDescription. Esta propiedad contiene el tiempo mínimo de ida y vuelta durante los últimos 10 latidos.

  • Añade el método toJSON() a la clase TopologyDescription. Aunque puede usar este método para convertir objetos TopologyDescription en JSON, recomendamos usar el método util.inspect() de Node, ya que gestiona correctamente todos los tipos utilizados en JavaScript y el controlador.

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

  • Elimina la compatibilidad con 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 la propiedad ServerDescription.roundTripTime como una media móvil. Anteriormente, era una media ponderada de la duración del latido observado más recientemente y la duración anterior.

  • Puede 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 lanza un MongoTransactionError solo si proporciona un ReadPreferenceMode distinto de primary y luego intenta ejecutar un comando que implica una operación de lectura.

  • El tipo de datos 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 credenciales de AWS KMS (sistema de administración de claves), el controlador ya no genera un error cuando recibe una clave de acceso que incluye una marca de tiempo de vencimiento.

  • La interfaz ClusterTime ya no define el campo signature como se requiere 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ón v6.5 del controlador Node.js incluye las siguientes características:

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

Advertencia

Si anteriormente especificó una instancia de pkFactory para manejar escrituras masivas, los campos _id de los documentos insertados mediante escrituras masivas pueden ser inconsistentes con el comportamiento en esta versión.

  • Corrige la preferencia de lectura que se envía con operaciones de lectura a primaryPreferred cuando el controlador está conectado a un nodo secundario en el conjunto de réplicas.

  • Corrige una pérdida 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 cuando se ejecuta un cliente en Kubernetes o un entorno de contenedor en el campo client.env.container del documento de protocolo de enlace.

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

  • Desaprueba la interfaz CloseOptions que no utiliza 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ón v6.4 del controlador Node.js incluye las siguientes características:

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

  • Almacena en caché las credenciales de AWS en el nivel del cliente, en lugar de para cada autenticación.

  • Actualizaciones para usar BSON.6.4.0 Para obtener más información sobre las nuevas funciones de BSON, consulte las notas de la versión de BSON 6.3.0 y BSON...640

  • Las operaciones de lectura que generan 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.

  • Los tipos countDocuments utilizan Filter<Schema> en lugar de Document, lo que permite el autocompletado y ayuda a evitar 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 extiende los tipos de Document o any, o si utiliza 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 errores de forma apropiada desde los flujos de transformación del cursor, en lugar de absorberlos.

  • Hace que los tokens de sesión de AWS sean opcionales cuando se proporcionan un nombre de usuario y una contraseña, y permite que AWS SDK maneje 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 v6.3 del controlador Node.js incluye las siguientes características:

  • Añade la serverMonitoringMode opción de cliente para controlar el comportamiento de la conexión de monitorización entre los nodos de una topología. Esta opción toma un valor de auto (predeterminado), poll streamo. Para obtener más información, consulte la entrada sobre esta opción en la guía "Especificar opciones de conexión".

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

    new MongoClient('<connection string>', { serverMonitoringMode: 'stream' });
  • Corrige una fuga de conexión cuando se configura 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 obtener más información sobre esta versión, consulte los aspectos destacados de la versión v.6.3.0

La versión v6.2 del controlador Node.js incluye las siguientes características:

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

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

    Para obtener más información, consulte las notas de la versión de bson v.6.2.0

  • Garantiza que la propiedad result.insertedIds de un tipo de error de escritura masiva contenga los valores _id de los documentos insertados correctamente. En versiones anteriores, cuando una operación de escritura masiva rechazaba una operación de inserción, la propiedad result.insertedIds contenía los valores _id de 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 empiezan o terminan con el carácter .. Este cambio alinea el comportamiento de comprobación de nombres de la base de datos y la colección del controlador con el del servidor.

Para obtener más información sobre esta versión, consulte los aspectos destacados de la versión v.6.2.0

La versión v6.1 del controlador Node.js incluye las siguientes características:

  • Se actualiza la bson versión del paquete a 6.1.0 para exponer el Decimal128.fromStringWithRounding() método. Para obtener más información, consulte las notas de la versión de bson v..6.10

  • Detecta variables de entorno para la configuración de región al autenticarse mediante la acción AssumeRoleWithWebIdentity de IAM con MONGODB-AWS autenticación. Para indicar al controlador que utilice sus opciones de región, debe configurar las dos siguientes variables de entorno:

    • AWS_STS_REGIONAL_ENDPOINTS

    • AWS_REGION

    Para saber cómo configurar la configuración de la región al usar el mecanismo de autenticación MONGODB-AWS, consulte la Web Identity Token pestaña en la guía del mecanismo de autenticación de AWS IAM.

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

Para obtener más información sobre esta versión, consulte los aspectos destacados de la versión v.6.1.0

Advertencia

Cambios importantes en v6.0

Esta versión del controlador presenta cambios importantes. Para obtener una lista de estos cambios, consulte la 6.0 sección "Cambios importantes de la versión " en la guía de actualización.

La versión v6.0 del controlador Node.js incluye las siguientes características:

Importante

Aviso de desuso

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

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

  • Se ha eliminado la compatibilidad con el addUser() comando auxiliar. En su lugar, utilice el comando createUser de MongoDB Shell.

  • Se ha eliminado la compatibilidad con la collStats operación. En su lugar, utilice el operador de agregación $collStats.

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

    • maxConnecting

    • maxPoolSize

    • minPoolSize

    • maxIdleTimeMS

    • waitQueueTimeoutMS

  • El controlador lee de forma asincrónica los archivos configurados en las opciones de conexión tlsCAFile y tlsCertificateKeyFile cuando llama al método MongoClient.connect(), no cuando crea una instancia MongoClient.

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

    Para aprender a configurar los parámetros de keepalive a nivel de sistema, consulte la sección de preguntas frecuentes "¿Afecta el tiempo de keepalive de TCP a las implementaciones de MongoDB?" en el manual del servidor.

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

    • willRetryWrite

    • omitReadPreference

    • writeConcern

    • explain

    • readConcern

    • collation

    • maxTimeMS

    • comment

    • retryWrites

    • dbName

    • authdb

    • noResponse

    Aunque no se pueden pasar estas opciones al Db.command() método, sí se pueden configurar en el documento de comandos. Para obtener más información, consulte la sección "Opciones de comando" de la guía "Ejecutar un comando de base de datos".

Para obtener más información sobre esta versión, consulte los aspectos destacados de la versión v.6.0.0

Volver

Implementar una aplicación en Vercel

En esta página