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
usando o construtor e passe sua instânciaMongoClientSettings
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 URI>" val settings = MongoClientSettings.builder() .applyConnectionString(ConnectionString(uri)) .serverApi(serverApi) .build() val mongoClient = MongoClient(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 API estável, crie um novo MongoClient
.
Configurar a stable API
A tabela a seguir descreve as opções de API estável que você pode definir chamando métodos 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 |
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 Scala gera essa exceção se você especificar uma versão da API e se conectar a um servidor MongoDB que não ofereça suporte à API estável. Verifique se você 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 Scala gera essa exceção se seu MongoClient
executar uma operação que não esteja na versão da API estável especificada. Para evitar esse erro, use uma operação alternativa compatível com a versão da API estável 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 API estável com o driver Scala, consulte a seguinte documentação da API: