Nota
La función API estable requiere MongoDB Server 5.0 o posterior.
Overview
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 se puede habilitar y personalizar la Stable API para su cliente de MongoDB. Para obtener más información sobre la Stable API, incluida una lista de los comandos que admite, consulta API estable en el manual del servidor MongoDB.
Activar la API estable
Para habilitar la API Stable, realiza los siguientes pasos:
Construir un
mongoc_server_api_tobjeto y especificar una versión de Stable API. Debe utilizar una versión de Stable API definida en el enummongoc_server_api_t.Construya un objeto
mongoc_client_t.Pasa el cliente y el objeto de la Stable API a la función
mongoc_client_set_server_api.
El siguiente ejemplo de código muestra cómo especificar la versión Stable API 1:
int main() { bson_error_t error; mongoc_init(); mongoc_server_api_t *stable_api = mongoc_server_api_new(MONGOC_SERVER_API_V1); mongoc_client_t *client = mongoc_client_new("<connection string>"); if (!mongoc_client_set_server_api(client, stable_api, &error)) { fprintf(stderr, "Failed to set Stable API: %s\n", error.message); return EXIT_FAILURE; } // Use the client for operations... mongoc_server_api_destroy(stable_api); mongoc_cleanup(); return EXIT_SUCCESS; }
Una vez creada una instancia de cliente con una versión de API específica, todos los comandos que ejecute con el cliente usarán dicha versión. Si necesita ejecutar comandos con más de una versión de la API estable, cree un nuevo cliente.
Configura la Stable API
La siguiente tabla describe las opciones de la clase ServerApi. Puede usar estas opciones para personalizar el comportamiento de la API estable.
Nombre de la opción | Descripción |
|---|---|
estricto | Optional. When true, if you call a command that isn't part of
the declared API version, the driver raises an exception.Default: false |
errores_de_uso_no_recomendado | Optional. When true, if you call a command that is deprecated in the
declared API version, the driver raises an exception.Default: false |
El siguiente ejemplo de código muestra cómo puedes establecer ambas opciones en true al construir un objeto ServerApi:
mongoc_server_api_t *stable_api = mongoc_server_api_new(MONGOC_SERVER_API_V1); mongoc_server_api_strict(stable_api, true); mongoc_server_api_deprecation_errors(stable_api, true); mongoc_client_t *client = mongoc_client_new("<connection string>"); if (!mongoc_client_set_server_api(client, stable_api, &error)) { fprintf(stderr, "Failed to set Stable API: %s\n", error.message); return EXIT_FAILURE; }
Documentación de la API
Para obtener más información sobre cómo usar la Stable API con el driver C, consulta la siguiente documentación de la API: