Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

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.

Utilizar la funcionalidad de la Stable API solo si todos los servidores MongoDB a los que te conectas admiten esta funcionalidad.

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 funcionalidad de Stable API obliga al servidor a ejecutar operaciones con comportamientos que sean compatibles con la versión de la API que indiques. Una versión de la 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 la API que especifiques.

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 obtener más información sobre los comandos que reconoce el servidor, consulta Stable API en el manual del servidor.

Para especificar una versión de la API, define una estructura ServerApi y establece el campo server_api de tu instancia ClientOptions en esta estructura. La estructura ServerApi contiene la versión de la API y las opciones. Para obtener más información sobre cómo configurar opciones, consulta la sección Modificar comportamiento de esta guía.

Una vez que hayas especificado 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)?;

Se puede modificar el comportamiento de la funcionalidad de la Stable API configurando campos en la estructura ServerApi.

Si bien puedes configurar los campos en una estructura ServerApi manualmente, puedes utilizar el patrón de diseño builder 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

(Obligatorio) La versión de Stable API que se va a utilizar.
Se especifica con el enum ServerApiVersion. El único valor aceptado es V1.

Tipo: ServerApiVersion

strict

Indica si el servidor devuelve errores para funcionalidades que no forman parte de la versión de la API.

Tipo: bool
Por defecto: false

deprecation_errors

Indica si el servidor devuelve errores para las funcionalidades obsoletas.

Tipo: bool
Por defecto: 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 tu instancia de MongoDB o set de réplicas, consulta Crear un cliente de MongoDB.

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: