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 Stable API, pase un hash que especifique la versión estable de la API al paso opcional
server_api parámetro cuando cree una instancia de Mongo::Client.
El siguiente ejemplo de código muestra cómo especificar la versión Stable API 1:
client = Mongo::Client.new(uri, server_api: { version: '1' })
Una vez que creas una instancia de Client 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 Client.
Configura la Stable API
La siguiente tabla describe las opciones de Stable API que puedes configurar especificándolas en el hash server_api. 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_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 las dos opciones en una instancia de ServerApi:
client = Mongo::Client.new(uri, server_api: { version: '1', strict: true, deprecation_errors: true })
Solución de problemas
Las siguientes secciones describen problemas comunes que se pueden encontrar al usar Stable API.
Campo no reconocido 'apiVersion' en el servidor
El controlador Ruby 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 conteo de comandos no está en la Versión API
El controlador Ruby genera esta excepción si su Client 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 usar la Stable API con el driver de Ruby, consulta la siguiente documentación de la API: