Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
/ / / / /

Stable API

Nota

La función API estable requiere MongoDB Server 5.0 o posterior.

Solo debe usar la Stable API si todos los servidores de MongoDB a los que se conecta admiten esta funcionalidad.

En esta guía, aprenderá a especificar la API estable al conectarse a una instancia o un conjunto de réplicas de MongoDB. Puede usar la función API estable para forzar al servidor a ejecutar operaciones con un comportamiento compatible con la versión de API especificada. Una versión de API define el comportamiento esperado de las operaciones que cubre y el formato de las respuestas del servidor. Si cambia a una versión de API diferente, no se garantiza la compatibilidad de las operaciones ni la similitud de las respuestas del servidor.

Cuando utilices la funcionalidad Stable API con un driver oficial de MongoDB, podrás actualizar tu driver o servidor sin preocuparte por problemas de retrocompatibilidad de los comandos cubiertos por la Stable API.

Consulte la página de referencia de MongoDB en Stable API para más información, incluido un listado de los comandos que cubre.

Las siguientes secciones describen cómo se puede habilitar la Stable API para el cliente de MongoDB y las opciones que se pueden especificar.

Para habilitar la Stable API, debes especificar una versión de la API en la configuración de tu cliente de MongoDB. Una vez que instancias una MongoClient instancia con una versión de API especificada, todos los comandos que ejecutes con ese cliente utilizan esa versión de la API estable.

Tip

Si necesitas ejecutar comandos usando más de una versión de la Stable API, inicia un cliente separado con esa versión.

Si necesita ejecutar comandos no contemplados por la API estable, asegúrese de que la opción "strict" esté deshabilitada. Consulte la sección "Opciones de la API estable" para obtener más información.

El siguiente ejemplo muestra cómo se puede crear una instancia de MongoClient que establece la versión de API estable y se conecta a un servidor realizando las siguientes operaciones:

  • Construya una instancia ServerApi usando la clase asistente ServerApi.Builder.

  • Especifique una versión de API estable utilizando una constante de la clase ServerApiVersion.

  • Construir una instancia de MongoClientSettings usando la clase MongoClientSettings.Builder.

  • Especifique un servidor al que conectarse usando una instancia de ServerAddress.

  • Instancia un MongoClient usando el método MongoClient.create() y pasa tu instancia MongoClientSettings como parámetro.

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)

Advertencia

Si especifica una versión de API y se conecta a un servidor MongoDB que no es compatible con la API estable, su aplicación podría generar una excepción al ejecutar un comando en su servidor MongoDB. Si usa un MongoClient que especifica la versión de API para consultar un servidor que no la admite, la consulta podría fallar con un mensaje de excepción con el siguiente texto:

'Unrecognized field 'apiVersion' on server...

Para obtener más información sobre los métodos y clases mencionados en esta sección, consulta la siguiente documentación de la API:

Puedes habilitar o deshabilitar el comportamiento opcional relacionado con la Stable API como se describe en la siguiente tabla.

Nombre de la opción
Descripción

Estricto

Optional. When set, if you call a command that is not part of the declared API version, the driver raises an exception.

Default: false

Errores de obsolescencia

Optional. When set, if you call a command that is deprecated in the declared API version, the driver raises an exception.

Default: false

El siguiente ejemplo 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()

Para obtener más información sobre las opciones de esta sección, consulte la siguiente documentación de API:

Volver

Selección de servidores

En esta página