Página inicial do Docs → Desenvolver aplicações → Drivers Python → PyMongo
Especificar opções de conexão
Nesta página
Visão geral
Esta seção descreve as opções de conexão e autenticação do MongoDB disponíveis no PyMongo. Você pode configurar sua conexão usando o URI de conexão ou argumentos para o construtor MongoClient
.
Como utilizar o URI de conexão
Se você passar um URI de conexão para o construtor MongoClient
, poderá incluir opções de conexão na cadeia de caracteres como pares <name>=<value>
. No exemplo a seguir, o URI de conexão contém a opção connectTimeoutMS
com um valor de 60000
e a opção tls
com um valor de true
:
uri = "mongodb://<hostname>:<port>/?connectTimeoutMS=60000&tls=true" client = pymongo.MongoClient(uri)
Usando um MongoClient
Você pode passar as opções de conexão como argumentos para o construtor MongoClient
em vez de incluí-las em seu URI de conexão. Configurar a conexão dessa forma facilita a alteração das configurações no tempo de execução e ajuda a detectar erros durante a compilação. O exemplo seguinte mostra como utilizar o construtor MongoClient
para configurar opções de conexão:
uri = "mongodb://<hostname>:<port>" client = pymongo.MongoClient(uri, connectTimeoutMS=60000, tls=True)
Opções de conexão
As seções a seguir descrevem as opções de conexão disponíveis no PyMongo. Se um parâmetro MongoClient
for mapeado para mais de uma opção na connection string, o Exemplo de URI de Conexão mostrará todas as opções correspondentes.
Compactação de rede
Opção de conexão | Descrição |
---|---|
compressors | The preferred compression types, in order, for wire-protocol messages sent to or received from the server. The driver uses the first of these compression types that the server supports. Data Type: str Default: None MongoClient Example: compressors = "snappy,zstd,zlib" Connection URI Example: compressors=snappy,zstd,zlib |
zlibCompressionLevel | The compression level for zlib to use. This option accepts an integer value between -1 and 9 :- -1: (Default). zlib uses its default compression level (usually 6 ).- 0: No compression. - 1: Fastest speed but lowest compression. - 9: Best compression but slowest speed. Data Type: int Default: -1 MongoClient Example: zlibCompressionLevel = 3 Connection URI Example: zlibCompressionLevel=3 |
Tempo limite
Opção de conexão | Descrição |
---|---|
timeoutMS | The number of milliseconds each driver operation must complete within. If an operation doesn't finish in the specified time, PyMongo raises a timeout exception. For more information, see Limit Server Execution Time. Data Type: int Default: None MongoClient Example: timeoutMS = 10000 Connection URI Example: timeoutMs=10000 |
Seleção do Servidor
Opção de conexão | Descrição |
---|---|
server_selector | A user-defined Python function called by PyMongo to choose the server to run an operation against. For more information, see Data Type: callable Default: None MongoClient Example: server_selector = your_function Connection URI Example: N/A |
Autenticação
Opção de conexão | Descrição |
---|---|
authMechanism | The mechanism PyMongo uses to authenticate the application. Valid options are defined in MECHANISMS. Data Type: str Default: "SCRAM-SHA-256" when connecting to MongoDB v4.0 or later."SCRAM-SHA-1" when connecting to MongoDB v3.0 through v3.13.MongoClient Example: authMechanism = "MONGODB-X509" Connection URI Example: authMechanism=MONGODB-X509 |
authMechanismProperties | Options specific to the authentication mechanism. Not needed for all authentication mechanisms. Data Type: str Default: "" MongoClient Example: authMechanismProperties = "AWS_SESSION_TOKEN:12345" Connection URI Example: authMechanismProperties=AWS_SESSION_TOKEN:12435 |
authSource | The database to authenticate against. Data Type: str Default: The database in the connection URI, or "admin" if none is providedMongoClient Example: authSource = "admin" Connection URI Example: authSource=admin |
nome de usuário | The username for authentication. When this option is included in a connection URI, you must percent-escape it. Data Type: str Default: "" MongoClient Example: username = "my user" Connection URI Example: username=my+user |
Senha | The password for authentication. When this option is included in a connection URI, you must percent-escape it. Data Type: str Default: "" MongoClient Example: password = "strong password" Connection URI Example: password=strong+password |
Para obter mais informações sobre a opção de conexão nesta seção, consulte Mecanismos de autenticação.
Operações de leitura e escrita
Opção de conexão | Descrição |
---|---|
replicaSet | Specifies the name of the replica set to connect to. Data Type: str Default: null MongoClient Example: replicaSet='replicaSetName' Connection URI Example: replicaSet=replicaSetName |
directConnection | Whether to connect only to the primary member of the replica set. Data Type: bool Default: False MongoClient Example: directConnection=True Connection URI Example: directConnection=true |
readPreference | Specifies the client's read-preference settings. Data Type: read_preferences Default: ReadPreference.Primary MongoClient Example: readPreference=ReadPreference.SECONDARY_PREFERRED Connection URI Example: readPreference=secondaryPreferred |
readConcern | Specifies the client's read-concern settings. For more information, see /reference/read-concern/. Data Type: str Default: None MongoClient Example: readConcern="majority" Connection URI Example: readConcern=majority |
writeConcern | Specifies the client's write-concern settings. For more information, see
/reference/write-concern/. Data Type: str Default: None MongoClient Example: writeConcern="majority" Connection URI Example: writeConcern=majority |
localThresholdMS | The latency window for a replica-set members eligibility. If a member's
round trip ping takes longer than the fastest server's round-trip ping
time plus this value, the server isn't eligible for selection. Data Type: read_preferences Default: ``int`` MongoClient Example: localThresholdMS=35 Connection URI Example: localThresholdMS=35 |
Para obter mais informações sobre a opção de conexão nesta seção, consulte Bancos de Dados e Coleções.