Visão geral
Esta página contém exemplos de código que mostram como conectar seu aplicativo Python ao MongoDB com várias configurações.
Dica
Para saber mais sobre as opções de conexão nesta página, consulte o link fornecido em cada seção.
Para usar um exemplo de conexão desta página, copie o exemplo de código noaplicativo de amostra ou em seu próprio aplicativo. Certifique-se de substituir todos os espaços reservados nos exemplos de código, como <hostname>
, pelos valores relevantes para sua implantação do MongoDB.
Aplicativo de amostra
Você pode usar o seguinte aplicativo de exemplo para testar os exemplos de código nesta página. Para usar o aplicativo de amostra, execute as seguintes etapas:
Verifique se o PyMongo está instalado.
Copie o seguinte código e cole-o em um novo arquivo
.py
.Copie um exemplo de código desta página e cole-o nas linhas especificadas no arquivo.
1 from pymongo import MongoClient 2 3 try: 4 # start example code here 5 6 # end example code here 7 8 client.admin.command("ping") 9 print("Connected successfully") 10 11 # other application code 12 13 client.close() 14 15 except Exception as e: 16 raise Exception( 17 "The following error occurred: ", e)
Conexão
Sistemas locais
uri = "mongodb://localhost:27017/" client = MongoClient(uri)
Atlas
uri = "<Atlas connection string>" client = MongoClient(uri, server_api=pymongo.server_api.ServerApi( version="1", strict=True, deprecation_errors=True))
Conjunto de réplicas
uri = "mongodb://<replica set member>:<port>/?replicaSet=<replica set name>" client = MongoClient(uri)
Compactação de rede
Algoritmos de compressão
client = pymongo.MongoClient("mongodb://<db_username>:<db_password>@<hostname>:<port>", compressors = "snappy,zstd,zlib")
uri = ("mongodb://<db_username>:<db_password>@<hostname>:<port>/?" "compressors=snappy,zstd,zlib") client = pymongo.MongoClient(uri)
Para saber mais sobre como especificar algoritmos de compressão, consulte Especificar Algoritmos de Compressão no guia Compressão de Rede.
zlibNível de compactação
client = pymongo.MongoClient("mongodb://<db_username>:<db_password>@<hostname>:<port>", compressors = "zlib", zlibCompressionLevel=<zlib compression level>)
uri = ("mongodb://<db_username>:<db_password>@<hostname>:<port>/?" "compressors=zlib" "zlibCompressionLevel=<zlib compression level>") client = pymongo.MongoClient(uri)
Para saber mais sobre como definir o nível de compressão zlib, consulte Especificar algoritmos de compressão no guia Compressão de rede.
Seleção do Servidor
client = pymongo.MongoClient("mongodb://<db_username>:<db_password>@<hostname>:<port>", server_selector=<selector function>)
Para saber mais sobre como personalizar a seleção do servidor, consulte Personalizar seleção de servidor do MongoDB.
Stable API
from pymongo.server_api import ServerApi client = pymongo.MongoClient("mongodb://<db_username>:<db_password>@<hostname:<port>", server_api=ServerApi("<Stable API version>"))
Para saber mais sobre a stable API, consulte stable API.
Limitar o tempo de execução do servidor MongoDB
bloqueio de tempo limite
with pymongo.timeout(<timeout length>): # perform operations here
Para saber mais sobre os tempos limite do lado do cliente, consulte Limitar o tempo de execução do servidor MongoDB.
Opção de conexão timeoutMS
client = pymongo.MongoClient("mongodb://<db_username>:<db_password>@<hostname@:<port>", timeoutMS=<timeout length>)
uri = "mongodb://<db_username>:<db_password>@<hostname:<port>/?timeoutMS=<timeout length>" client = pymongo.MongoClient(uri)
Para saber mais sobre os tempos limite do lado do cliente, consulte Limitar o tempo de execução do servidor MongoDB.