Stable API
Nesta página
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 Stable API força o servidor a executar operações com comportamentos compatíveis com a versão da API especificada. O uso da Stable API garante respostas consistentes do servidor e oferece estabilidade de API a longo prazo para seu aplicação.
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
ServerApi
e especifique uma versão de stable API . Você deve usar uma versão de stable API definida no enumServerApiVersion
.Construa um objeto
MongoClientSettings
usando a classeMongoClientSettings.Builder
.Instancie um
MongoClient
utilizando o métodoMongoClient.create()
e passe sua instância doMongoClientSettings
como um parâmetro.
O seguinte exemplo de código mostra como especificar stable API a versão 1:
val serverApi = ServerApi.builder() .version(ServerApiVersion.V1) .build() // Replace the uri string placeholder with your MongoDB deployment's connection string val uri = "<connection string>" val settings = MongoClientSettings.builder() .applyConnectionString(ConnectionString(uri)) .serverApi(serverApi) .build() val client = MongoClient.create(settings)
Depois de criar uma instância do MongoClient
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 MongoClient
.
Configurar a stable API
A tabela seguinte descreve os parâmetros da classe ServerApi
. Você pode usar esses parâmetros 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 |
deprecationErrors | 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 você pode definir as duas opções em uma instância do ServerApi
encadeando métodos no ServerApi.Builder
:
val serverApi = ServerApi.builder() .version(ServerApiVersion.V1) .strict(true) .deprecationErrors(true) .build()
Solução de problemas
Campo 'apiVersion' não reconhecido no servidor
O driver Kotlin Sync gera essa exceção se você especificar uma versão da API e se conectar a um servidor MongoDB que não oferece suporte à Stable API. Certifique-se de que está se conectando a uma implantação executando o MongoDB Server v5.0 ou posterior.
Fornecido apiStrict:true, mas a contagem de comando não está na versão da API
O driver Kotlin Sync gera essa exceção se seu MongoClient
executar uma operação que não esteja na versão da Stable API especificada. Para evitar esse erro, use uma operação alternativa compatível com a versão da Stable API especificada ou defina a opção strict
como False
ao criar seu objeto ServerApi
.
Documentação da API
Para obter mais informações sobre como usar a Stable API com o driver Kotlin Sync, consulte a seguinte documentação da API :