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 de Stable API obliga al servidor a ejecutar operaciones con comportamientos compatibles con la versión de API que especifique. El uso de la Stable API garantiza respuestas coherentes del servidor y proporciona una 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
ServerApiobjeto y especificar una versión de Stable API. Debe utilizar una versión de Stable API definida en el enumServerApiVersion.Cree un objeto
MongoClientSettingsutilizando la claseMongoClientSettings.Builder.Instancia un
MongoClientusando el métodoMongoClients.create()y pasa tu instanciaMongoClientSettingscomo parámetro.
El siguiente ejemplo de código muestra cómo especificar la versión Stable API 1:
ServerApi serverApi = ServerApi.builder() .version(ServerApiVersion.V1) .build(); // Replace the placeholder with your Atlas connection string String uri = "<connection string URI>"; MongoClientSettings settings = MongoClientSettings.builder() .applyConnectionString(new ConnectionString(uri)) .serverApi(serverApi) .build(); try (MongoClient mongoClient = MongoClients.create(settings)) { // Perform client operations here }
Una vez que crees una instancia de MongoClient con la Stable API, todos los comandos que ejecutes con el cliente utilizan la configuración de la Stable API especificada. Si debe ejecutar comandos utilizando configuraciones alternativas, cree un nuevo MongoClient.
Configura la Stable API
La siguiente tabla describe los métodos encadenables de la clase ServerApi.Builder que puedes usar para personalizar el comportamiento de la Stable API.
Nombre de la opción | Descripción |
|---|---|
| Optional. When true, if you call a command that isn't part of
the declared API version, the driver raises an exception.Default: false |
| 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 se puede configurar una instancia de ServerApi encadenando métodos en ServerApi.Builder:
ServerApi serverApi = ServerApi.builder() .version(ServerApiVersion.V1) .strict(true) .deprecationErrors(true) .build();
Solución de problemas
Campo no reconocido 'apiVersion' en el servidor
El controlador Java Reactive Streams genera esta excepción si se especifica una versión de API y se conecta a un servidor MongoDB que no es compatible con la API estable. Asegúrese de conectarse a una implementación con MongoDB Server v5.0 o posterior.
Se proporcionó apiStrict:true, pero el comando <operation> no está en la versión de la API
El controlador Java Reactive Streams genera esta excepción si su MongoClient ejecuta una operación que no está en la versión de la API estable especificada. Para evitar este error, utilice una operación alternativa compatible con la versión de la API estable especificada o configure la opción strict como False al construir el objeto ServerApi.
Documentación de la API
Para obtener más información sobre cómo utilizar la Stable API con el controlador de Java Reactive Streams, consulte la siguiente documentación de la API: