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 habilitar y personalizar la API estable para su cliente MongoDB. Para obtener más información sobre la API estable, incluyendo una lista de los comandos que admite, consulte API estable en el manual del servidor MongoDB.
Activar la API estable
Para habilitar la API estable, realice los siguientes pasos:
Construir una
ServerApiobjeto y especifique una versión estable de la API. Debe usar una versión estable de la API definida en la enumeraciónServerApiVersion.Cree un objeto
MongoClientSettingsutilizando la claseMongoClientSettings.Builder.Cree una instancia de
MongoClientutilizando el métodoMongoClient.create()y pase su instancia deMongoClientSettingscomo parámetro.
El siguiente ejemplo de código muestra cómo especificar la versión de API estable 1:
val serverApi = ServerApi.builder() .version(ServerApiVersion.V1) .build() // Replace the uri string placeholder with your MongoDB deployment's connection string val uri = "<connection string>" val settings = MongoClientSettings.builder() .applyConnectionString(ConnectionString(uri)) .serverApi(serverApi) .build() val client = MongoClient.create(settings)
Una vez creada una instancia MongoClient 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 una instancia MongoClient.
Configurar la API estable
La siguiente tabla describe los parámetros de la clase ServerApi. Puede usarlos 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 desaprobación | 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 pueden establecer las dos opciones en una instancia de ServerApi encadenando métodos en ServerApi.Builder:
val serverApi = ServerApi.builder() .version(ServerApiVersion.V1) .strict(true) .deprecationErrors(true) .build()
Solución de problemas
Campo no reconocido 'apiVersion' en el servidor
El controlador de sincronización de Kotlin genera esta excepción si 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 recuento de comandos no está en la versión de API
El controlador de sincronización de Kotlin 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 su objeto ServerApi.
Documentación de la API
Para obtener más información sobre el uso de la API estable con el controlador de sincronización de Kotlin, consulte la siguiente documentación de la API: