Importante
Para utilizar la función API estable, debe conectarse a una implementación que ejecute MongoDB Server versión 5.0 o posterior.
Utilice la función API estable solo si todos los servidores MongoDB a los que se conecta admiten esta función.
Overview
En esta guía, puede aprender cómo especificar la compatibilidad de API estable al conectarse a una instancia de MongoDB o un conjunto de réplicas.
La función API estable obliga al servidor a ejecutar operaciones con comportamientos compatibles con la versión de API que especifique. Una versión de API define el comportamiento esperado de las operaciones que cubre y el formato de las respuestas del servidor. Las operaciones y las respuestas del servidor pueden variar según la versión de API que especifique.
Cuando utiliza la función API estable con un controlador oficial de MongoDB, puede actualizar su controlador o servidor sin preocuparse por problemas de compatibilidad con versiones anteriores de los comandos cubiertos por la API estable.
Para obtener más información sobre los comandos que cubre el servidor, consulte API estable en el manual del servidor.
Especificar una versión de API
Para especificar una versión de API, defina una ServerApi struct y establezca el server_api campo de su ClientOptions instancia en esta estructura. La ServerApi estructura contiene la versión de la API y las opciones. Para obtener más información sobre la configuración de opciones, consulte la sección "Modificar comportamiento" de esta guía.
Después de especificar una versión de API, el cliente solo ejecuta operaciones que sean compatibles con esa versión.
Nota
El controlador MongoDB Rust solo admite la versión de API estable 1.
Ejemplo de especificación de versión de API
El siguiente ejemplo establece la versión de API estable al crear una instancia de Client y se conecta a un servidor.
let mut client_options = ClientOptions::parse(uri).await?; let server_api = ServerApi::builder().version(ServerApiVersion::V1).build(); client_options.server_api = Some(server_api); let client = Client::with_options(client_options)?;
Modificar el comportamiento
Puede modificar el comportamiento de la función API estable configurando campos en la estructura ServerApi.
Si bien puede configurar los campos en una estructura ServerApi manualmente, puede utilizar el patrón de diseño del generador para definir la estructura de manera más eficiente.
Nota
Opciones de configuración
El controlador de Rust implementa el patrón de diseño Builder para la creación de algunos tipos de estructura, incluyendo la estructura ServerApi. Puedes usar el método builder() de cada tipo para construir una instancia de opciones encadenando las funciones del constructor de opciones una a una.
Campo | Descripción |
|---|---|
| (Required) The Stable API version to use. Specified with the ServerApiVersion enum. The only
accepted value is V1.Type: ServerApiVersion |
| Indicates whether the server returns errors for features
that aren't part of the API version. Type: boolDefault: false |
| Indicates whether the server returns errors for
deprecated features. Type: boolDefault: false |
Ejemplo de opciones de API estables
Este ejemplo habilita la función API estable con las siguientes especificaciones:
Utiliza la versión estable de API 1
Devuelve errores para funciones que no forman parte de la versión 1
Devuelve errores para funciones obsoletas
let mut client_options = ClientOptions::parse(uri).await?; let server_api = ServerApi::builder() .version(ServerApiVersion::V1) .strict(true) .deprecation_errors(true) .build(); client_options.server_api = Some(server_api); let client = Client::with_options(client_options)?;
Información Adicional
Para obtener más información sobre cómo conectarse a su instancia o conjunto de réplicas de MongoDB, consulte Guía de conexión.
Documentación de la API
Para obtener más información sobre los métodos y tipos mencionados en esta guía, consulte la siguiente documentación de API: