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 a API estável para seu cliente MongoDB . Para obter mais informações sobre a API estável, incluindo uma lista dos comandos suportados, consulte API estável no manual do MongoDB Server.
Habilitar a stable API
Para habilitar a API estável, passe um hash que especifique a versão da API estável para o parâmetro opcional server_api
quando você criar uma instância do Mongo::Client
.
O seguinte exemplo de código mostra como especificar stable API a versão 1:
client = Mongo::Client.new(uri, server_api: { version: '1' })
Depois de criar uma instância do Client
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 Client
.
Configurar a stable API
A tabela a seguir descreve as opções de API estável que você pode definir especificando-as no hash server_api
. 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 |
deprecation_errors | Optional. When true , if you call a command that is deprecated in the
declared API version, the driver raises an exception.Default: false |
O seguinte exemplo de código mostra como você pode definir as duas opções em uma instância do ServerApi
:
client = Mongo::Client.new(uri, server_api: { version: '1', strict: true, deprecation_errors: true })
Solução de problemas
As seções a seguir descrevem problemas comuns que você pode encontrar ao usar a API estável.
Campo 'apiVersion' não reconhecido no servidor
O driver Ruby 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 Ruby gera essa exceção se seu Client
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 Ruby, consulte a seguinte documentação da API: