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 de stable API força o servidor a executar operações com comportamentos compatíveis com a versão de API que você especificar. Quando você atualiza seu driver ou servidor, a versão da API muda, o que pode alterar a forma como essas operações se comportam. O uso da stable API garante respostas consistentes do servidor e fornece estabilidade de API a longo prazo para seu aplicativo.
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
MongoClient
, passando seu objetoServerApi
para o argumentoserver_api
.
O seguinte exemplo de código mostra como especificar stable API a versão 1:
from pymongo import MongoClient from pymongo.server_api import ServerApi client = MongoClient("mongodb://<db_username>:<db_password>@<hostname:<port>", server_api=ServerApi("1"))
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 um novo 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 |
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 utilizar estes parâmetros ao construir um objeto ServerApi
:
from pymongo import MongoClient from pymongo.server_api import ServerApi client = MongoClient("mongodb://<db_username>:<db_password>@<hostname:<port>", server_api=ServerApi("1", strict=True, deprecation_errors=True))
Solução de problemas
Campo 'apiVersion' não reconhecido no servidor
PyMongo levanta essa exceção se você especificar uma versão da API e se conectar a um servidor MongoDB que não seja compatível com a 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
PyMongo levanta esta exceção se o seu MongoClient
executar uma operação que não esteja na versão da stable API que você especificou. 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 construir seu objeto ServerApi
.
Documentação da API
Para obter mais informações sobre como usar a stable API com o PyMongo, consulte a seguinte documentação da API :