Nota
La funcionalidad Stable API requiere MongoDB Server 5.0 o posterior.
Utilice la funcionalidad Stable API solo si todos los servidores de MongoDB a los que se conecta admiten esta funcionalidad.
Overview
En esta guía, puedes aprender a especificar la compatibilidad con Stable API al conectar una instancia o un set de réplicas de MongoDB.
La funcionalidad de Stable API obliga al servidor a ejecutar operaciones con comportamientos compatibles con la versión de la API que se especifique. Una versión de API define el comportamiento esperado de las operaciones que cubre y el formato de las respuestas del servidor. Las operaciones y las respuestas del servidor pueden variar según la versión de la API que especifique.
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.
Para aprender más sobre los comandos que cubre el servidor, Stable API.
Especifica una versión de API
La Client opcionalmente toma un tipo ServerAPIOptions a través del ClientOptions.
Para especificar una versión de API, añade el método SetServerAPIOptions() junto con tus opciones de API del servidor a tu ClientOptions. Después de especificar una versión de API, el Client ejecuta operaciones compatibles con la versión de API durante toda su conexión.
Nota
El controlador de MongoDB Go actualmente solo admite ServerAPIVersion1.
Ejemplo
El siguiente ejemplo instancia un Client que establece la versión Stable API y se conecta a un servidor.
// Specify a server URI to connect to uri := "mongodb://<hostname>:<port>" // Specify the Stable API version in the ClientOptions object serverAPI := options.ServerAPI(options.ServerAPIVersion1) // Pass in the URI and the ClientOptions to the Client client, err := mongo.Connect(context.TODO(), options.Client().ApplyURI(uri).SetServerAPIOptions(serverAPI)) if err != nil { panic(err) }
Modificar comportamiento
Puedes modificar aún más el comportamiento de la funcionalidad estable de la API agregando al tipo ServerAPIOptions. Si no especificas ninguna opción, el driver utiliza los valores por defecto para cada opción.
Método | Descripción |
|---|---|
| The API version to use. Default: ServerAPIVersion1 |
| Flag that indicates whether the server should return errors for features that aren't part of the API version. Default: false |
| Flag that indicates whether the server should return errors for deprecated features. Default: false |
Ejemplo
Este ejemplo especifica que el servidor debe realizar las siguientes acciones:
Utilizar la versión 1 de la API
Devuelve errores para las funcionalidades que no forman parte de la versión 1
Devuelve errores para funcionalidades obsoletas
// Specify a server URI to connect to uri := "mongodb://<hostname>:<port>" // Specify the Stable API version and append options in the ClientOptions object serverAPI := options.ServerAPI(options.ServerAPIVersion1).SetStrict(true).SetDeprecationErrors(true) // Pass in the URI and the ClientOptions to the Client client, err := mongo.Connect(context.TODO(), options.Client().ApplyURI(uri).SetServerAPIOptions(serverAPI)) if err != nil { panic(err) }
Información Adicional
Para obtener más información sobre cómo conectarse a su instancia de MongoDB o set de réplicas, consulte Guía de conexión.
Documentación de la API
Para obtener más información sobre las opciones de esta sección, consulta la siguiente documentación de la API: