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

Nota

La funcionalidad Stable API requiere MongoDB Server 5.0 o posterior.

En esta guía, puedes aprender a especificar la compatibilidad de la API estable al conectarse a una implementación de MongoDB.

La funcionalidad Stable API obliga al servidor a ejecutar operaciones con comportamientos compatibles con la versión de la API que especifiques. Al actualizar el controlador o el servidor, la versión de la API cambia, lo que puede afectar el comportamiento de estas operaciones. El uso de la API Estable garantiza respuestas coherentes del servidor y proporciona estabilidad a largo plazo de la API para tu aplicación.

Las siguientes secciones describen cómo puedes habilitar y personalizar Stable API para tu cliente de MongoDB. Para obtener más información sobre la Stable API, incluyendo una lista de los comandos que soporta, consulta Stable API en el manual del MongoDB Server.

Para habilitar la API Stable, realiza los siguientes pasos:

  1. Construye un objeto ServerApi y especifica una versión de Stable API. Se debe utilizar una versión de API estable definida en el enum ServerApiVersion.

  2. Construye un objeto MongoClient, pasando el objeto ServerApi para el argumento server_api.

El siguiente ejemplo de código muestra cómo especificar la versión 1 de Stable API. Seleccione la pestaña Synchronous o Asynchronous para ver el código correspondiente:

from pymongo import MongoClient
from pymongo.server_api import ServerApi
client = MongoClient("mongodb://<db_username>:<db_password>@<hostname:<port>",
server_api=ServerApi("1"))
from pymongo import AsyncMongoClient
from pymongo.server_api import ServerApi
client = AsyncMongoClient("mongodb://<db_username>:<db_password>@<hostname:<port>",
server_api=ServerApi("1"))

Una vez que creas una instancia de MongoClient con una versión de API especificada, todos los comandos que ejecutes con el cliente utilizan la versión especificada. Si necesitas ejecutar comandos utilizando más de una versión de la Stable API, crea una nueva MongoClient.

La siguiente tabla describe los parámetros de la clase ServerApi. Se pueden usar estos parámetros para personalizar el comportamiento de la Stable API.

Nombre de la opción
Descripción

estricto

Opcional. TrueCuando, si se llama a un comando que no forma parte de la versión de API declarada, el controlador genera una excepción.

Valor predeterminado: Falso.

errores_de_uso_no_recomendado

Opcional. TrueCuando, si se llama a un comando que está obsoleto en la versión de API declarada, el controlador genera una excepción.

Valor predeterminado: Falso.

El siguiente ejemplo de código le muestra cómo puede utilizar estos parámetros al construir un objeto ServerApi. Selecciona la pestaña Synchronous o Asynchronous para ver el código correspondiente:

from pymongo import MongoClient
from pymongo.server_api import ServerApi
client = MongoClient("mongodb://<db_username>:<db_password>@<hostname:<port>",
server_api=ServerApi("1",
strict=True,
deprecation_errors=True))
from pymongo import AsyncMongoClient
from pymongo.server_api import ServerApi
client = AsyncMongoClient("mongodb://<db_username>:<db_password>@<hostname:<port>",
server_api=ServerApi("1",
strict=True,
deprecation_errors=True))

PyMongo genera esta excepción si se especifica una versión de API y se conecta a un servidor MongoDB que no admite la Stable API. Asegúrese de conectarse a una implementación que ejecute MongoDB Server v5.0 o posterior.

PyMongo genera esta excepción si tu MongoClient ejecuta una operación que no está en la versión Stable API que especificaste. Para evitar este error, utiliza una operación alternativa compatible con la versión de la Stable API especificada o configura la opción strict en False al construir tu objeto ServerApi.

Para obtener más información sobre el uso de la Stable API con PyMongo, consulta la siguiente documentación de la API: