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

Tip

Notas de versión

Para obtener más información sobre los cambios y actualizaciones entre versiones, puedes leer el notas de versión publicadas con el código fuente del driver.

Conozca las novedades en:

Esta actualización incluye las siguientes mejoras y correcciones:

  • Añade una vista previa de la compatibilidad con CRUD para índices de prefijo, sufijo y subcadena de cifrado consultable. Estas funciones son inestables y su seguridad no está garantizada hasta su lanzamiento como disponibilidad general (GA). Es posible que la versión GA de estas funciones no sea compatible con versiones anteriores de la vista previa.

  • Agregar AsFloat64() y métodos AsFloat64OK() para bson.RawValue.

  • Agrega el método DefaultDocumentMap() a bson.Decoder.

  • Agrega el método ErrorCodes() para analizar los códigos de error del servidor a partir de un error de Go arbitrario.

  • Expone atClusterTime en sesiones de instantáneas.

  • Corrige varios errores, incluyendo una posible lectura fuera de los límites del heap en el manejo de errores GSSAPI.

Para obtener más información sobre los cambios en esta versión, consulta las v2.5 notas de versión en GitHub.

Esta versión incluye las siguientes correcciones:

  • Agrega manejo para un parámetro options vacío en SearchIndexModel

Importante

Cambio decisivo

La versión del driver Go v2.4 contiene cambios disruptivos. Para más información, consulta Versión 2.4 cambio disruptivo.

Esta actualización incluye las siguientes mejoras y correcciones:

  • Agrega un nuevo método Client.AppendDriverInfo() que añade información a los metadatos del controlador enviados durante los posteriores apretones de manos de conexión.

  • El controlador ya no envía $clusterTime con comandos de latido, y los comandos de latido ya no analizan $clusterTime de las respuestas.

  • Renombra el archivo interno internal/decinal123/decinal123.go a internal/decimal123/decimal123.go para corregir un error tipográfico en el nombre del paquete.

Para obtener más información sobre los cambios en esta versión, consulta las v2.4 notas de versión en GitHub.

Importante

La versión v2.3 del driver Go es la última versión que admite MongoDB 4.0. La versión del driver Go v2.4 requerirá MongoDB 4.2 o una versión posterior. La versión mínima de Go para la versión del controlador de Go v2.3 es Go 1.19.

Esta actualización incluye las siguientes mejoras y correcciones:

  • Corrige un problema en el que las llamadas a cursor.Next() con un valor maxAwaitTimeMS mayor o igual al tiempo de espera de la operación resultan en tiempos de espera de socket. El driver ahora acorta estas llamadas para evitar errores de tiempo de espera.

  • Corrige un problema por el que Element.StringN() no truncaba las cadenas como se esperaba.

  • Mejora el rendimiento de bson.Unmarshal().

Para obtener más información sobre los cambios en esta versión, consulta las v2.3 notas de versión en GitHub.

Importante

Cambio decisivo

La versión v2.2 del controlador Go contiene cambios disruptivos. Para obtener más información, consulta los cambios disruptivos de la versión 2.2.

Esta actualización incluye las siguientes mejoras y correcciones:

  • Añade la OmitEmpty opción BSON para evitar globalmente la serialización de valores vacíos. Para obtener más información sobre cómo configurar el OmitEmpty indicador global, consulte el ejemplo en la sección "Opciones BSON" de la guía BSON.

  • Añade soporte para la autenticación OIDC de Kubernetes. Para obtener más información sobre cómo configurar la autenticación de MongoDB para un clúster de Kubernetes, consulta la sección Kubernetes OIDC de la guía Mechanismismos de autenticación de empresa.

  • Añade soporte para configurar la vida útil de la caché de la llave de cifrado de datos (DEK). Para obtener más información sobre la gestión de DEK, consulta la Guía de gestión de llave de cifrado en el manual de MongoDB Server.

  • Agrega soporte para las funciones error.Is y error.As para mejorar la gestión de errores. Para obtener más información, consulte la documentación de la API de Go error.Is y error.As.

Para obtener más información sobre los cambios en esta versión, consulta las v2.2 notas de versión en GitHub.

La versión del controlador Go 2.1 incluye las siguientes mejoras y correcciones:

  • Presenta el método Client.BulkWrite, que permite a los clientes realizar múltiples operaciones de inserción, actualización y borrado en varias bases de datos y colecciones con una sola solicitud. Para obtener más información, consulta la guía Operaciones masivas.

  • Introduce el tipo bson.Vector para facilitar y hacer más eficiente la inserción y consulta de datos vectoriales usando MongoDB Vector Search. Para ver un ejemplo que utilice el tipo bson.Vector, consulte la guía MongoDB Vector Search.

  • Extiende la interfaz ServerError para incluir ErrorCodes, que devuelve una lista de códigos de error deduplicados devueltos por el servidor durante la ejecución de operaciones.

  • Agrega la opción sort a Opciones de actualización y Opciones de reemplazo para operaciones autónomas de actualización y reemplazo y en operaciones masivas.

Para obtener más información sobre los cambios en esta versión, consulta las v2.1 notas de versión en GitHub.

La versión de driver 2.0 Go soporta autenticación OpenID Connect (OIDC), proporciona una experiencia de tiempo de espera de operaciones del lado del cliente (CSOT) más fluida e implementa código Go más claro y idiomático agilizando APIs, mejorando las descripciones de errores y simplificando la estructura del paquete del driver.

Puedes aprender más sobre estos cambios en esta sección o consultando la v2.0 Guía de Migración en el código fuente del controlador Go en GitHub.

Importante

Cambios radicales

La versión v2.0 del controlador Go contiene cambios disruptivos. Para obtener más información, consulta los cambios disruptivos de la versión 2.0.

Esta actualización incluye las siguientes mejoras y correcciones:

  • Soporte de documentación para la autenticación OpenID Connect (OIDC). Para obtener más información, consulte la Guía del Mecanismo de Autenticación OIDC.

  • Puedes acceder a la API de GridFS desde el paquete mongo. En versiones anteriores, podías acceder a las funciones de GridFS desde el paquete separado gridfs, pero ahora esta funcionalidad está integrada en el paquete principal del controlador mongo. Para obtener más información, consulta la guía GridFS.

  • El campo Comment en cualquier estructura de opciones toma un valor del tipo any en lugar del tipo string. Para configurar este campo, se puede usar el método SetComment() y pasar un parámetro de tipo any.

  • Actualizaciones de los documentos de eventos de monitoreo:

    • Los structs CommandStartedEvent y CommandFinishedEvent tienen un único campo ServerConnectionID del tipo int64 para capturar el ID de conexión.

    • El campo ConnectionID de la estructura PoolEvent toma un valor de tipo int64 en lugar de uint64.

    Para ver documentos de eventos de muestra, consulte las guías de Monitorizar eventos de la aplicación.

  • La Session interfaz se convierte en una estructura. Consulta la guía de Transacciones para obtener más información.

  • El método Distinct() devuelve una estructura que puede decodificarse en un tipo especificado. Consulta la guía Recuperar Valores Distinguidos para obtener más información.

  • El método IndexView.DropOne() solo devuelve un error, si lo hay. En versiones anteriores, este método también devolvía la respuesta del servidor, que contenía el número de índices descartados. Consulta la sección Remover un Índice de la guía Índices para obtener más información.

  • Actualizaciones en el patrón de construcción para los tipos en el paquete options. El patrón mantiene una serie de funciones Setter, por lo que no puedes establecer datos directamente en un objeto de opciones. Esta actualización no cambia generalmente la forma en que creas y utilizas opciones. Para aprender más, consulta el ticket JIRA de la funcionalidad.

  • El driver ya no soporta el error centinela mongo.ErrUnacknowledgedWrite si una operación de guardar no es reconocida. Para confirmar que el servidor reconoció una operación de guardar, debes acceder a la propiedad Acknowledged de la estructura de resultados devuelta por el método de guardar.

    El siguiente ejemplo muestra cómo confirmar el acuse de recibo de una operación de inserción:

    res, err := coll.InsertOne(context.TODO(), bson.D{{"x", 2}})
    if err != nil {
    panic(err)
    }
    fmt.Print(res.Acknowledged)
  • Puedes establecer opciones para transacciones ejecutadas en una sesión determinada creando una instancia de TransactionOptions y pasando la instancia al método SetDefaultTransactionOptions() del tipo SessionOptions. Para obtener más información, consulta la sección Opciones de sesión y transacción de la guía de Transacciones.

  • El método Collection.Clone() no devuelve un error.

  • Cambia el canonical nombre del parámetro del UnmarshalExtJSON() método canonicalOnly a. Si se canonicalOnly establece true en, el método devuelve un error si el JSON extendido no se serializa en modo canónico. Si se establece false en, el método puede desmarshalizar JSON extendido canónico o relajado. Para obtener más información, consulte la documentación de la API UnmarshalExtJSON().

La versión del parche del controlador Go 1.17.9 incluye la siguiente corrección de errores:

  • Corrige el siguiente problema de vulnerabilidades y exposiciones comunes (CVE): un búfer GSSAPI delimitado por longitud se trata como una cadena C terminada en nulo. Para obtener más información, consulte el problema CVE-2026- relacionado.2303

Importante

Aviso de desuso de Go Driver v1

El 1.17.8 El lanzamiento del parche del controlador de Go marca oficialmente la obsolescencia del controlador de Go v1.

El 1.17.8 El parche del controlador de Go incluye el siguiente cambio:

  • Se descontinua el controlador Go v1 y se agrega un aviso de descontinuación go.mongodb.org/mongo-driver a. Los usuarios deben migrar go.mongodb.org/mongo-driver/v2 a. Para saber cómo actualizar su aplicación de v1 a v,2 consulte la Guía de migración del controlador Go.2.0

Para obtener más información sobre los cambios en esta versión, consulta las notas de versión v1.17.8 en GitHub.

Importante

v1.17 es el lanzamiento final planeado de la versión 1.x. Esta versión recibirá correcciones de seguridad y errores, pero el desarrollo y las funcionalidades futuras sólo se incluirán en las versiones 2.x del driver.

La versión del controlador Go 1.17 incluye las siguientes mejoras y correcciones:

  • Agrega soporte para la autenticación OpenID Connect (OIDC). Para aprender más, consulta la guía del Mecanismo de autenticación OIDC.

  • Agrega soporte para consultas de rango encriptadas consultables (Queryable Encryption). Para utilizar esta funcionalidad, tu aplicación debe conectarse a MongoDB Server 8.0 o posterior. Para obtener más información sobre las consultas de rango QE, consulta Queryable Encryption en el manual de MongoDB Server.

  • Agrega soporte para MongoDB Server 8.0, excepto para la función de escritura masiva del cliente.

  • Extiende el tipo IndexView para incluir los métodos DropOneWithKey() y DropWithKey() para que pueda descartar índices usando sus especificaciones de clave en lugar de sus nombres.

Para obtener más información sobre los cambios en esta versión, consulta las v1.17 notas de versión en GitHub.

La versión del controlador Go 1.16 incluye las siguientes mejoras y correcciones:

  • Agrega soporte para especificar un tipo de índice al crear un índice de búsqueda MongoDB.

  • Reduce el uso de memoria cuando el algoritmo de compresión zstd está habilitado.

  • Actualiza algunos requisitos de dependencias. Para ver una lista de actualizaciones, consulta la sección "Actualizar dependencias" de las Notas de la versión v1.16.

Para obtener más información sobre estos cambios, consulta las notas de versión v1.16 en GitHub.

El 1.15.1 La versión corregida del controlador Go incluye las siguientes mejoras y correcciones:

  • Corrige una posible fuga de conexión donde al desconectarse de un clúster de set de réplicas, se quedaban rttMonitor conexiones.

  • Agrega soporte para especificar manualmente un valor de maxTimeMS para operaciones de lectura y agregación cuando se establecen un timeout global del cliente y un timeout de la operación.

  • Agrega un método RemainingBatchLength() que puedes llamar en un flujo de cambios.

Para obtener más información sobre estos cambios, consulta las notas de versión v1.15.1 en Github.

La versión del controlador Go 1.15 incluye las siguientes mejoras y correcciones:

  • La rotación de conexiones puede mitigarse estableciendo un tiempo de espera a nivel de cliente mediante la especificación de la opción de conexión timeoutMS o llamando a la función SetTimeout(). Cuando se establece el tiempo de espera, el controlador intenta reutilizar una conexión después de que una operación expira y espera hasta un segundo para verificar si la conexión puede reutilizarse antes de cerrarla.

  • Los eventos del pool de conexiones incluyen un campo Duration para medir la duración del checkout y el tiempo total que tomó establecer una conexión.

La versión del controlador Go 1.14 incluye las siguientes mejoras y correcciones:

  • Las versiones de Go anteriores a 1.18 ya no son compatibles.

  • En caso de un tiempo de inactividad de latido, las operaciones en curso se cancelan anticipadamente.

  • Las cadenas de conexión que incluyen el prefijo "mongodb+srv://" pueden contener letras mayúsculas en el nombre del host de SRV.

La versión del controlador Go 1.13 incluye las siguientes mejoras y correcciones:

  • Registro para la selección del servidor y SDAM. Para obtener más información sobre el registro, consulta la documentación de Registro.

  • Métodos en el tipo Collection que le permiten gestionar índices de búsqueda de forma programática.

  • Los eventos event.CommandStartedEvent y event.CommandFinishedEvent devuelven el campo DatabaseName. Este campo también se incluye en los análogos del registro de comandos.

  • En una topología particionada, al seleccionar un servidor para reintentar una query sin éxito, el driver excluye el servidor utilizado en el intento inicial. En cambio, si existe más de una instancia mongos elegible, el controlador selecciona una aleatoriamente. Las instancias insalubres se excluyen automáticamente de la selección.

  • La transmisión SDAM está deshabilitada de forma predeterminada en AWS Lambda y plataformas similares de función como servicio (FaaS). Puede habilitar la monitorización mediante la opción de URI serverMonitoringMode.

La versión del controlador Go 1.12 incluye las siguientes mejoras y correcciones:

  • El controlador desancla las conexiones al finalizar una sesión. Esto evita fugas de conexiones cuando un usuario ejecuta una transacción mientras está conectado a un balanceador de carga.

  • El controlador no lanza un error en tiempo de ejecución cuando deserializas un tipo bson.RawValue vacío con un tipo no válido o serializas un puntero nil de una instancia ReadConcern.

  • Establecer options.LogComponentAll como el componente de registro resulta correctamente en la publicación de registros contra todos los componentes.

Importante

Aviso de obsolescencia

  • Los métodos mongo.NewClient() y client.Connect() están obsoletos. Puede crear un cliente y conectarse en una sola llamada usando el método mongo.Connect().

Las nuevas características de la versión del controlador Go 1.12 incluyen:

Esta versión del controlador agrega soporte para Queryable Encryption (QI). Para obtener más información sobre los requisitos para utilizar la funcionalidad QE, consulta la Tabla de compatibilidad de drivers con Queryable Encryption.

El ClientEncryption.CreateEncryptedCollection() método crea automáticamente claves de cifrado de datos al crear una nueva colección cifrada. Para aprender a usar la función QE, consulte la Guía de inicio rápido de cifrado consultable en el manual del servidor.

Ahora puedes registrar la gestión de conexiones y los eventos de ejecución de comandos utilizando la interfaz de registro LogSink.

Para obtener más información, consulta la guía Logging .

Esta versión del controlador agrega características al paquete options para especificar cómo el controlador serializa y desmarca BSON.

El siguiente ejemplo muestra cómo configurar opciones BSON en tu Client. Las opciones especifican los siguientes comportamientos:

  • El driver recurre a json etiquetas struct si faltan las etiquetas struct bson.

  • El controlador convierte nil tipos de mapas de Go como documentos BSON vacíos.

  • El driver organiza los tipos slice de Go nil como arreglos BSON vacíos.

bsonOpts := &options.BSONOptions{
UseJSONStructTags: true,
NilMapAsEmpty: true,
NilSliceAsEmpty: true,
}
options.Client().SetBSONOptions(bsonOpts)

Para un ejemplo completo de cómo especificar e implementar el tipo BSONOptions, consulta la documentación de la API.

Esta versión del controlador simplifica la API WriteConcern. Para obtener más información sobre los cambios, consulta nivel de confirmación de escritura (write concern).

  • Compatibilidad con autenticación con roles de AWS IAM en EKS.

  • Adición del método Cursor.SetBatchSize() para permitir la especificación del tamaño de los lotes recuperados al iterar a través de un cursor.

  • Adición del método UnmarshalValue() para permitir el desensamblado de valores BSON ensamblados con el método MarshalValue().

Volver

Búsqueda vectorial y AWS Bedrock

En esta página