Nota
La función API estable requiere MongoDB Server 5.0 o posterior.
Utilice la función API estable solo si todos los servidores MongoDB a los que se conecta admiten esta función.
Overview
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.
Habilitar la API estable en un cliente MongoDB
Para habilitar la API Estable, debes especificar una versión de la API en la MongoClientOptions
Se pasa a tu MongoClient. Una vez que creas una instancia MongoClient con una versión de API específica, todos los comandos que ejecutes con ese cliente usarán esa versión de la API estable.
Tip
- Debes crear un nuevo cliente para cada versión de la Stable API en
- en el que quieras ejecutar un comando.
Para ejecutar comandos que no están cubiertos por la Stable API, asegúrate de que la opción "estricta" esté desactivada. Consulte la sección sobre Opciones de Stable API para obtener más información.
El siguiente ejemplo muestra cómo puedes instanciar un MongoClient que establece la versión Stable API y se conecta a un servidor realizando las siguientes operaciones:
Especifica una URI de servidor a la que conectarte.
Especifique una versión de Stable API en el objeto
MongoClientOptions, utilizando una constante del objetoServerApiVersion.Instancia un
MongoClient, pasando el URI y elMongoClientOptionsal constructor.
const { MongoClient, ServerApiVersion } = require("mongodb"); // Replace the placeholders in the connection string uri with your credentials const uri = "mongodb+srv://<user>:<password>@<cluster-url>?retryWrites=true&w=majority"; // Create a client with options to specify Stable API Version 1 const client = new MongoClient(uri, { serverApi: ServerApiVersion.v1 });
Advertencia
Si especifica una versión de API y se conecta a un servidor MongoDB que no admite la API estable, su aplicación puede generar un error al conectarse a su servidor MongoDB con el siguiente texto:
MongoParseError: Invalid server API version=...
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:
Opciones de Stable 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 |
|---|---|
Versión | Required. Specifies the version of the Stable API. Default: null |
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 puedes configurar las opciones de la interfaz ServerApi.
const { MongoClient, ServerApiVersion } = require("mongodb"); // Replace the placeholders in the connection string uri with your credentials const uri = "mongodb+srv://<user>:<password>@<cluster-url>?retryWrites=true&w=majority"; /* Create a client with options to specify Stable API Version 1, return errors for commands outside of the API version, and raise exceptions for deprecated commands */ const client = new MongoClient(uri, { serverApi: { version: ServerApiVersion.v1, strict: true, deprecationErrors: true, } });
Para obtener más información sobre las opciones de esta sección, consulte la siguiente documentación de API: