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
ServerApie especifique uma versão de stable API . Você deve usar uma versão de stable API definida no enumServerApiVersion.Construa um objeto
MongoClientSettingsusando a classeMongoClientSettings.Builder.Instancie um
MongoClientusando o construtor e passe sua instânciaMongoClientSettingscomo 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: