Stable API
Nesta página
Importante
Para usar a funcionalidade stable API, você deve se conectar a uma implementação executando o MongoDB Server versão 5.0 ou posterior.
Use o recurso API estável somente se todos os servidores MongoDB que você está conectando para suportar esse recurso.
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 cobre 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 abrange, consulte stable API no manual do servidor MongoDB.
Especificar uma versão da API
Para especificar uma versão da API, defina uma estrutura ServerApi
e defina o campo server_api
da sua instância ClientOptions
para essa estrutura. A estrutura ServerApi
contém a versão e as opções da API. Para saber mais sobre como definir opções, consulte a seção Modificar comportamento deste guia.
Depois de especificar uma versão da API, o cliente executa apenas operações compatíveis com essa versão.
Observação
O MongoDB Rust Driver é compatível apenas com a stable API versão 1.
Exemplo de especificação da versão da API
O exemplo a seguir define a stable API ao instanciar um Client
e se conecta a um servidor.
let mut client_options = ClientOptions::parse(uri).await?; let server_api = ServerApi::builder().version(ServerApiVersion::V1).build(); client_options.server_api = Some(server_api); let client = Client::with_options(client_options)?;
Modificar comportamento
Você pode modificar o comportamento do recurso stable API definindo campo na estrutura ServerApi
.
Embora seja possível definir manualmente os campos em uma estrutura ServerApi
, o padrão de design do construtor permite fazê-lo de forma mais eficiente.
Observação
Opções de configuração
O driver Rust implementa o padrão de design Builder para a criação de alguns tipos de estrutura, incluindo a estrutura ServerApi
. Você pode usar o método builder()
de cada tipo para construir uma instância de opções encadeando as funções do construtor de opções, uma de cada vez.
Campo | Descrição |
---|---|
| (Required) The Stable API version to use. Specified with the ServerApiVersion enum. The only
accepted value is V1 .Type: ServerApiVersion |
| Indicates whether the server returns errors for features
that aren't part of the API version. Type: bool Default: false |
| Indicates whether the server returns errors for
deprecated features. Type: bool Default: false |
Exemplo de opções de stable API
Este exemplo habilita a funcionalidade stable API com as seguintes especificações:
Usa a API estável versão 1
Retorna erros para funcionalidades que não fazem parte da versão 1
Retorna erros para funcionalidades obsoletas
let mut client_options = ClientOptions::parse(uri).await?; let server_api = ServerApi::builder() .version(ServerApiVersion::V1) .strict(true) .deprecation_errors(true) .build(); client_options.server_api = Some(server_api); let client = Client::with_options(client_options)?;
Informações adicionais
Para saber mais sobre como se conectar à sua instância ou conjunto de réplicas do MongoDB, consulte o Guia de Conexão.
Documentação da API
Para saber mais sobre os métodos e tipos mencionados neste guia, consulte a documentação da API abaixo: