Stable API
Observação
O recurso API estável requer MongoDB Server 5.0 ou posterior.
Use o recurso Stable API somente se ele for suportado por todos os servidores do MongoDB aos quais você está se conectando.
Visão geral
Neste guia, você pode aprender como especificar a compatibilidade da stable API ao se conectar a uma instância ou conjunto de réplicas do MongoDB.
O recurso Stable API força o servidor a executar operações com comportamentos compatíveis com a versão da API especificada. Uma versão da API define o comportamento esperado das operações que ela abrange e o formato das respostas do servidor. As operações e as respostas do servidor podem ser diferentes dependendo da versão da API especificada.
Quando você usa o recurso API estável com um driver oficial do MongoDB, você pode atualizar seu driver ou servidor sem se preocupar com compatibilidade com versões anteriores problemas dos comandos cobertos pela API estável.
Para saber mais sobre os comandos que o servidor cobre, consulte Stable API.
Especificar uma versão da API
O Client
opcionalmente leva um tipo ServerAPIOptions
através do ClientOptions
.
Para especificar uma versão da API, anexe o método SetServerAPIOptions()
com as opções de API do servidor ao seu ClientOptions
. Após especificar uma versão da API, o Client
executa operações compatíveis com a versão da API durante a conexão.
Observação
Atualmente, o driver Go do MongoDB suporta apenas a ServerAPIVersion1
.
Exemplo
O exemplo a seguir instancia um Client
que define a versão da Stable API e se conecta a um 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 comportamento
Você pode modificar ainda mais o comportamento da stable API anexando ao tipo ServerAPIOptions
. Se você não especificar nenhuma opção, o driver usará os valores padrão para cada opção.
Método | Descrição |
---|---|
ServerAPI() | The API version to use. Default: ServerAPIVersion1 |
SetStrict() | Flag that indicates whether the server should return errors for features that aren't part of the API version. Default: false |
SetDeprecationErrors() | Flag that indicates whether the server should return errors for deprecated features. Default: false |
Exemplo
Esse exemplo especifica que o servidor execute as seguintes ações:
Use a versão 1 da API
Retornar erros para funcionalidades ausentes da versão 1
Retornar erros 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) }
Informações adicionais
Documentação da API
Para obter mais informações sobre as opções nesta seção, consulte a seguinte documentação da API: