Docs Menu
Docs Home
/ /

Stable API

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.

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.

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.

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)?;

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

version

(Required) The Stable API version to use.
Specified with the ServerApiVersion enum. The only accepted value is V1.

Type: ServerApiVersion

strict

Indicates whether the server returns errors for features that aren't part of the API version.

Type: bool
Default: false

deprecation_errors

Indicates whether the server returns errors for deprecated features.

Type: bool
Default: false

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)?;

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.

Para obtener más información sobre los métodos y tipos mencionados en esta guía, consulte la siguiente documentación de API:

Volver

AWS Lambda

En esta página