Obtenga información sobre las nuevas características, mejoras y correcciones introducidas en las siguientes versiones del controlador MongoDB Rust:
Novedades en 3.1
La versión v3.1 del controlador Rust incluye las siguientes características, mejoras y correcciones:
Añade compatibilidad con más de un proveedor de Servicios de Administración de Claves (KMS) del mismo tipo. Para obtener más información sobre los proveedores de KMS, consulte Cifrado Consultable en el manual de MongoDB Server.
Se añade compatibilidad con v2 del protocolo de rango de cifrado consultable. Los índices de rango para cifrado consultable ahora están disponibles con disponibilidad general.
Añade el
typecampo al tipoSearchIndexModelpara permitir la creación programática de índices de MongoDB Search y MongoDB Vector Search. Para obtener más información, consulte Guía de índices de búsqueda vectorial y de búsqueda de MongoDB.Implementa el algoritmo Happy Eyeballs para gestionar conexiones TCP. Para más información sobre este algoritmo, consulta la documentación de Rust sobre happy_eyeballs. caja.
El controlador publica un evento
TopologyDescriptionChangedEventcuando se cierra una topología.
Para obtener más información sobre esta versión, consulte las 3.1 Notas de la versión v en GitHub.
Novedades en 3.0.1
La versión v3.0.1 del controlador Rust incluye las siguientes características, mejoras y correcciones:
Corrige un problema en el cual las agregaciones no se compilaban cuando se ejecutaban dentro de sesiones explícitas y también se implementaban tipos personalizados.
Corrige un problema en el cual el método
Collection::watch()no usaba el parámetro de tipo de la instanciaCollectionen la que se ejecutaba.
Para obtener más información sobre esta versión, consulte las notas de versión v3.0.1 en GitHub.
Novedades en 3.0
La versión v3.0 del controlador Rust incluye las siguientes características, mejoras y correcciones:
Implementa una API fluida, que introduce los siguientes cambios de sintaxis para pasar opciones e iniciar sesiones:
Para establecer opciones de métodos asincrónicos, encadene los métodos del generador de opciones directamente a la llamada del método en lugar de pasar un parámetro de estructura de opciones.
Para establecer opciones de método sincrónico, encadene los métodos del generador de opciones a la llamada del método y luego llame al método
run().Si debe construir una estructura de opciones separada, encadene el método
with_options()a la llamada al método y pase su estructura de opciones como parámetro.Para iniciar una sesión, encadene el método
session()a la llamada del método en lugar de utilizar un método separado que tenga un sufijo_with_session.
Añade compatibilidad con operaciones de escritura masiva. Para obtener más información sobre estas operaciones, consulte la guía de operaciones masivas.
Se introduce el
EventHandlertipo para reducir la cantidad de código repetitivo necesario para la monitorización de eventos. Para ver ejemplos que utilizan elEventHandlertipo, consulte las guías de la sección Monitorización.Se elimina la compatibilidad con el
async-stdentorno de ejecución asíncrono. Para obtener más información sobre este cambio, consulte la sección "Configurar el entorno de ejecución asíncrono" de la guía API asíncronas y síncronas.Requiere el uso de la función
compatsi una aplicación de controlador de Rust se compila con el indicador de línea de comandosno-default-features. Las funcionesrustlsydns-resolutionahora son opcionales.Se remueve el soporte para las funcionalidades del driver
bson-*. Puede seleccionar estas funcionalidades incluyendobsoncomo una dependencia directa en su aplicación.Se elimina la compatibilidad con las constantes de lectura y escritura. En su lugar, se utilizan métodos auxiliares para establecer los valores
ReadConcernyWriteConcern.Agrega restricciones
Send + Syncal tipoCollection<T>.Elimina el campo
ClientOptions::compressorsi no hay funciones de compresor habilitadas.Cambia el tipo de los campos
ReadPreferenceOptions. Estos campos ahora son de tipoOption<ReadPreferenceOptions>.Elimina la opción
CollectionOptions::human_readable_serialization. En su lugar, utiliza el tipo contenedorbson::HumanReadablepara serializar los datos del usuario en formato legible.Agrega soporte para la conversión de valores a través del rasgo
Intopara todos los generadores de estructuras de opciones.Cambia el nombre del campo
comment_bsonacommentpara las estructurasAggregateOptions,FindOptionsyFindOneOptions.
Para obtener más información sobre esta versión, consulte la Guía de migración v3.0 en GitHub.
Novedades de la versión 2.8
La versión v2.8 del controlador Rust incluye las siguientes características, mejoras y correcciones:
Añade métodos de gestión de índices de MongoDB Search. Para obtener más información sobre estos métodos, consulte la guía de índices de MongoDB Search y Vector Search.
Mejora la conectividad de red y la fiabilidad de las operaciones implementando los siguientes comportamientos:
Realiza reintentos en una gama más amplia de tipos de errores que encuentra el controlador.
Evita reintentos para instancias de
mongosque experimentan problemas de conectividad de red.
Para obtener más información sobre esta versión, vea los Aspectos destacados de la versión v2.8.0 en GitHub.
Novedades de la versión 2.7
La versión v2.7 del controlador Rust incluye las siguientes características, mejoras y correcciones:
Añade la opción
human_readable_serializationa la estructuraCollectionOptions. Esta opción indica al controlador que serialice los valores pasados a los métodos CRUD en un formato legible. El valor predeterminado de esta opción esfalse.Advertencia
Si establece el valor de
human_readable_serializationentrue, sus operaciones de inserción podrían ejecutarse más lentamente.Añade el
run_cursor_command()método para ejecutar un comando de base de datos y obtener la respuesta comoCursortipo. Para obtener más información,consulte la guía "Ejecutar un comando".Agrega el registro de eventos SDAM cuando utiliza el indicador de función
tracing-unstable.Agrega las siguientes configuraciones para
Clienty la gestión de conexiones:max_connecting: una opción que se puede configurar en unaClientOptionsestructura para especificar cuántas conexiones se pueden establecer en paralelo. Para obtener más información sobre esta opción, consulte "Grupo de conexiones" en la guía "Consideraciones de rendimiento".Client::warm_connection_pool(): un método que permite crear nuevas conexiones en el grupo de conexiones para proporcionar un rendimiento más predecible. Al usar este método, el controlador intenta crear conexiones hasta el número especificado en la configuraciónmin_pool_size.Client::shutdown(): un método que permite detener tareas en segundo plano y esperar a que se cierren los controladores. Este método puede ser útil si se utilizan controladores de eventos para referenciar recursos externos, ya que estos controladores podrían utilizarse en tareas incluso después de cerrarClient.
Para obtener más información sobre esta versión, vea los Aspectos destacados de la versión v2.7.0 en GitHub.
Novedades de la versión 2.6
La versión v2.6 del controlador Rust incluye las siguientes características, mejoras y correcciones:
Admite roles de AWS Identity and Access Management (IAM) para cuentas de servicio, como cuentas de Elastic Kubernetes Service (EKS).
Admite cuentas de servicio adjuntas a GCP cuando se utiliza el Sistema de administración de claves en la nube (KMS).
Admite la obtención de credenciales CSFLE a pedido desde Azure KMS.
Implementa el atributo
FromStrpara la estructuraNamespace. Este cambio permite analizar una cadena que incluye el nombre de una base de datos y una colección, como"testdb.testcollection", en una instanciaNamespace.Incluye el
server_iden una estructuraConnectionInfocomo un tipoi64.Elimina la mayoría de las restricciones de tipo en los valores referenciados por un
Cursor.Actualiza la versión
libmongocrypten las dependencias del controlador para utilizar la función de cifrado consultable con consultas de igualdad.
Para obtener más información sobre esta versión, vea los Aspectos destacados de la versión v2.6.0 en GitHub.