Stable API
Observação
O recurso API estável requer MongoDB Server 5.0 ou posterior.
Visão geral
Neste guia, você pode aprender como especificar a compatibilidade de stable API ao se conectar a uma implementação do MongoDB .
O recurso de stable API força o servidor a executar operações com comportamentos compatíveis com a versão de API que você especificar. Quando você atualiza seu driver ou servidor, a versão da API muda, o que pode alterar a forma como essas operações se comportam. O uso da stable API garante respostas consistentes do servidor e fornece estabilidade de API a longo prazo para seu aplicativo.
As seções a seguir descrevem como você pode habilitar e personalizar stable API para seu cliente MongoDB . Para obter mais informações sobre a stable API, incluindo uma lista dos comandos suportados, consultestable API no manual do MongoDB Server .
Habilitar a stable API
Para habilitar a stable API, execute as seguintes etapas:
Construa um objeto
mongoc_server_api_t
e especifique uma versão de stable API . Você deve usar uma versão de stable API definida no enummongoc_server_api_t
.Construa um objeto
mongoc_client_t
.Passe o cliente e o objeto de API estável para a função
mongoc_client_set_server_api
.
O seguinte exemplo de código mostra como especificar stable API a versão 1:
int main () { bson_error_t error; mongoc_init (); mongoc_server_api_t *stable_api = mongoc_server_api_new (MONGOC_SERVER_API_V1); mongoc_client_t *client = mongoc_client_new ("<connection string>"); if (!mongoc_client_set_server_api (client, stable_api, &error)) { fprintf (stderr, "Failed to set Stable API: %s\n", error.message); return EXIT_FAILURE; } // Use the client for operations... mongoc_server_api_destroy (stable_api); mongoc_cleanup (); return EXIT_SUCCESS; }
Depois de criar uma instância do cliente com uma versão de API especificada, todos os comandos que você executa com o cliente usarão a versão especificada. Se você precisar executar comandos usando mais de uma versão da API estável, crie um novo cliente.
Configurar a stable API
A tabela seguinte descreve as opções da classe ServerApi
. Você pode usar essas opções para personalizar o comportamento da API estável.
Nome da opção | Descrição |
---|---|
estrito | Optional. When true , if you call a command that isn't part of
the declared API version, the driver raises an exception.Default: false |
deprecation_errors | Optional. When true , if you call a command that is deprecated in the
declared API version, the driver raises an exception.Default: false |
O exemplo de código a seguir mostra como definir ambas as opções como true
ao construir um objeto ServerApi
:
mongoc_server_api_t *stable_api = mongoc_server_api_new (MONGOC_SERVER_API_V1); mongoc_server_api_strict (stable_api, true); mongoc_server_api_deprecation_errors (stable_api, true); mongoc_client_t *client = mongoc_client_new ("<connection string>"); if (!mongoc_client_set_server_api (client, stable_api, &error)) { fprintf (stderr, "Failed to set Stable API: %s\n", error.message); return EXIT_FAILURE; }
Documentação da API
Para obter mais informações sobre como usar a API estável com o driver C, consulte a seguinte documentação da API: