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
mongocxx::options::server_api
e especifique uma versão Stable API . Você deve usar uma versão de Stable API definida no enumeraçãomongocxx::options::server_api::version
. Atualmente, o driver é compatível apenas com a versão 1 (k_version_1
).Construa um objeto
mongocxx::options::client
. Defina o camposerver_api_opts
deste objeto para o objetoserver_api
que você criou na etapa anterior.Construa um objeto
mongocxx::client
, passando seu objetomongocxx::uri
e o objetomongocxx::options::client
que você criou na etapa anterior.
O seguinte exemplo de código mostra como especificar stable API a versão 1:
int main() { mongocxx::instance instance; mongocxx::uri uri("mongodb://<hostname>:<port>"); mongocxx::options::server_api server_api_options(mongocxx::options::server_api::version::k_version_1); mongocxx::options::client client_options; client_options.server_api_opts(server_api_options); mongocxx::client client(uri, client_options); }
Observação
Depois de criar uma instância do mongocxx::client
com uma versão de API especificada, todos os comandos que você executa com o cliente utilizam a versão especificada. Se você precisar executar comandos usando mais de uma versão da Stable API, crie uma nova instância do mongocxx::client
.
Configurar a stable API
A tabela seguinte descreve as propriedades da classe server_api_options
. Você pode usar essas propriedades para personalizar o comportamento da Stable API.
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 seguinte exemplo de código mostra como você pode utilizar estes parâmetros ao construir um objeto ServerApi
:
int main() { mongocxx::instance instance; mongocxx::uri uri("mongodb://<hostname>:<port>"); mongocxx::options::server_api server_api_options(mongocxx::options::server_api::version::k_version_1); server_api_options.strict(true); server_api_options.deprecation_errors(true); mongocxx::options::client client_options; client_options.server_api_opts(server_api_options); mongocxx::client client(uri, client_options); }
Documentação da API
Para obter mais informações sobre como usar a Stable API com o driver C++ , consulte a seguinte documentação da API :