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
/ /

Stable API

Importante

Para utilizar la funcionalidad Stable API, debes conectarte 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, puedes aprender a especificar la compatibilidad con Stable API al conectar una instancia o un set de réplicas de MongoDB.

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 utilices la funcionalidad Stable API con un driver oficial de MongoDB, podrás actualizar tu driver o servidor sin preocuparte por problemas de retrocompatibilidad de los comandos cubiertos por la Stable API.

Para aprender más sobre los comandos cubiertos por el servidor, consulte Stable API en el manual del Servidor.

Para especificar una versión de la API, define una ServerApi struct y configura el campo server_api de su instancia de ClientOptions a este struct. El struct ServerApi contiene la versión de la API y las opciones. Para aprender más sobre cómo configurar opciones, consulte la sección Modificando el 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 driver Rust de MongoDB solo es compatible con la versión 1 de la Stable API.

El siguiente ejemplo establece la Stable API al instanciar un Client y conectarse 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 driver de Rust implementa el patrón de diseño Builder para la creación de algunos tipos de structs, incluyendo el struct ServerApi. Puedes usar el método builder() de cada tipo para construir una instancia de opciones encadenando funciones constructoras de opciones una tras otra.

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 funcionalidad Stable API con las siguientes especificaciones:

  • Utiliza la versión 1 de la Stable API

  • Devuelve errores para funcionalidades que no forman parte de la versión 1.

  • Devuelve errores para las funcionalidades 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 set de réplicas de MongoDB, consulte el Guía de conexión.

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

Volver

Habilitar y configurar TLS

En esta página