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.Construya un objeto
MongoClientSettingsutilizando la claseMongoClientSettings.Builder.Instancia un
MongoClientusando el constructor y pasa tu instancia deMongoClientSettingscomo un parámetro.
El siguiente ejemplo de código muestra cómo especificar la versión Stable API 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 URI>" val settings = MongoClientSettings.builder() .applyConnectionString(ConnectionString(uri)) .serverApi(serverApi) .build() val mongoClient = MongoClient(settings)
Una vez que creas una instancia de MongoClient con una versión de API especificada, todos los comandos que ejecutes con el cliente usarán la versión especificada. Si debes ejecutar comandos utilizando más de una versión de la Stable API, crea una nueva MongoClient.
Configura la Stable API
La siguiente tabla describe las opciones de Stable API que puedes configurar llamando a métodos de la clase ServerApi. Puedes usar estas opciones para personalizar el comportamiento de la Stable API.
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 obsolescencia | 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 las dos opciones en una instancia de ServerApi encadenando métodos en el 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 driver de Scala genera esta excepción si especifica una versión de la API y se conecta a un servidor de MongoDB que no es compatible con la Stable API. Asegúrate de estar conectado a una implementación que esté ejecutando MongoDB Server v5.0 o posterior.
Se proporcionó apiStrict:true, pero el conteo de comandos no está en la Versión API
El driver de Scala genera esta excepción si tu MongoClient ejecuta una operación que no está en la versión Stable API que se especificó. 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 a false al construir tu objeto ServerApi.
Documentación de la API
Para obtener más información sobre el uso de la Stable API con el controlador Scala, consulte la siguiente documentación de la API: