Menu Docs

Stable API

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.

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.

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.

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)?;

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

version

(Required) The Stable API version to use.
Specified with the ServerApiVersion enum. The only accepted value is V1.

Type: ServerApiVersion

strict

Indicates whether the server returns errors for features that aren't part of the API version.

Type: bool
Default: false

deprecation_errors

Indicates whether the server returns errors for deprecated features.

Type: bool
Default: false

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)?;

Para saber mais sobre como se conectar à sua instância ou conjunto de réplicas do MongoDB, consulte o Guia de Conexão.

Para saber mais sobre os métodos e tipos mencionados neste guia, consulte a documentação da API abaixo: