Especificar opções de conexão
Nesta página
- Visão geral
- Definir opções de conexão
- Como utilizar o URI de conexão
- Usando um objeto MongoDB\Client
- Opções de URI de conexão
- Opções de conjunto de réplicas
- Opções de conexão
- Opções de write concern
- Opções de read concern
- Opções de read preference
- Opções de autenticação
- Seleção de servidor e opções de descoberta
- Configurações diversas
- Documentação da API
Visão geral
Esta página descreve as opções de conexão e autenticação MongoDB disponíveis na biblioteca PHP.
Definir opções de conexão
Você pode configurar sua conexão especificando opções no URI de conexão ou passando-as para o construtor MongoDB\Client
.
Como utilizar o URI de conexão
Se você passar um URI de conexão para o construtor MongoDB\Client
, poderá incluir opções de conexão no URI como pares <name>=<value>
. No exemplo a seguir, o URI de conexão define a opção tls
como true
e a opção tlsCertificateKeyFile
como /path/to/file.pem
:
// Replace the placeholders with your actual hostname, port, and path to the certificate key file $uri = "mongodb://<hostname>:<port>/?tls=true&tlsCertificateKeyFile=/path/to/file.pem"; // Create a MongoDB client $client = new MongoDB\Client($uri);
Usando um objeto MongoDB\Client
Você pode passar as opções de conexão para o construtor MongoDB\Client
em vez de incluí-las em seu URI de conexão.
O exemplo seguinte mostra como utilizar o parâmetro $uriOptions
do construtor MongoDB\Client
para configurar opções de conexão:
// Replace the placeholders with your actual hostname and port $uri = "mongodb://<hostname>:<port>/"; // Set the connection options // Replace the placeholder with the actual path to the certificate key file $uriOptions = [ 'tls' => true, 'tlsCertificateKeyFile' => '/path/to/file.pem' ]; // Create a MongoDB client with the URI and options $client = new Client($uri, $uriOptions);
Observação
Se você especificar uma opção no parâmetro $uriOptions
e no URI de conexão, o valor em $uriOptions
terá precedência.
Opções de URI de conexão
As seções a seguir descrevem as opções que você pode definir para sua conexão com o MongoDB. Cada opção de conexão está vinculada à sua entrada correspondente no manual do MongoDB Server .
Importante
Codificação percentual
Se o valor de uma opção de conexão contiver caracteres especiais, você deverá codificar por cento o valor antes de incluí-lo no URI de conexão. Você pode usar o método rawurlencode()
para codificar esses valores de acordo com a sintaxe do URI especificada em RFC 3986.
Não codifique por cento as opções de conexão ao incluí-las no parâmetro $uriOptions
.
Para saber mais, consulte os seguintes recursos:
código bruto no manual do PHP
Opções de conjunto de réplicas
Opção de conexão | Descrição |
---|---|
Data Type: bool MongoDB\Client Example: $uriOptions = ['directConnection' => true]; Connection URI Example: directConnection=true | |
Data Type: string MongoDB\Client Example: $uriOptions = ['replicaSet' => 'replicaSetName']; Connection URI Example: replicaSet=replicaSetName |
Opções de conexão
Opções de TLS
Para saber mais sobre as opções de TLS disponíveis na biblioteca PHP, consulte a página deTLS .
Opções de tempo limite
Opção de conexão | Descrição |
---|---|
Data Type: int MongoDB\Client Example: $uriOptions = ['connectTimeoutMS' => 2000]; Connection URI Example: connectTimeoutMS=2000 | |
Data Type: int MongoDB\Client Example: $uriOptions = ['socketTimeoutMS' => 20000]; Connection URI Example: socketTimeoutMS=20000 |
Opções de compressão
Opção de conexão | Descrição |
---|---|
Data Type: string MongoDB\Client Example: $uriOptions = ['compressors' => 'snappy,zstd,zlib']; Connection URI Example: compressors=snappy,zstd,zlib | |
Data Type: int MongoDB\Client Example: $uriOptions = ['zlibCompressionLevel' => 3]; Connection URI Example: zlibCompressionLevel=3 |
Opções de write concern
Opção de conexão | Descrição |
---|---|
Data Type: string MongoDB\Client Example: $uriOptions = ['w' => 'majority']; Connection URI Example: w=majority | |
Data Type: int MongoDB\Client Example: $uriOptions = ['wTimeoutMS' => 10000]; Connection URI Example: wTimeoutMS=10000 | |
Data Type: bool MongoDB\Client Example: $uriOptions = ['journal' => true]; Connection URI Example: journal=true |
Opções de read concern
Opção de conexão | Descrição |
---|---|
Data Type: string MongoDB\Client Example: $uriOptions = ['readConcernLevel' => 'majority']; Connection URI Example: readConcernLevel=majority |
Opções de read preference
Opção de conexão | Descrição | ||||||
---|---|---|---|---|---|---|---|
Data Type: MongoDB\Driver\ReadPreference MongoDB\Client Example: $uriOptions = ['readPreference' => 'secondaryPreferred']; Connection URI Example: readPreference=secondaryPreferred | |||||||
Data Type: int MongoDB\Client Example: $uriOptions = ['maxStalenessSeconds' => 30]; Connection URI Example: maxStalenessSeconds=30 | |||||||
Data Type: array MongoDB\Client Example:
Exemplo de URI de conexão: |
Opções de autenticação
Para saber mais sobre as opções de autenticação disponíveis na biblioteca PHP, consulte Mecanismos de autenticação.
Seleção de servidor e opções de descoberta
Opção de conexão | Descrição |
---|---|
Data Type: int MongoDB\Client Example: $uriOptions = ['localThresholdMS' => 20]; Connection URI Example: localThresholdMS=20 | |
Data Type: int MongoDB\Client Example: $uriOptions = ['serverSelectionTimeoutMS' => 5000]; Connection URI Example: serverSelectionTimeoutMS=5000 | |
Data Type: bool MongoDB\Client Example: $uriOptions = ['serverSelectionTryOnce' => false]; Connection URI Example: serverSelectionTryOnce=false | |
Data Type: int MongoDB\Client Example: $uriOptions = ['heartbeatFrequencyMS' => 30000]; Connection URI Example: heartbeatFrequencyMS=30000 | |
Data Type: int MongoDB\Client Example: $uriOptions = ['socketCheckIntervalMS' => 4000]; Connection URI Example: socketCheckIntervalMS=4000 |
Configurações diversas
Opção de conexão | Descrição |
---|---|
Data Type: string MongoDB\Client Example: $uriOptions = ['appName' => 'myApp']; Connection URI Example: appName=myApp | |
Data Type: bool MongoDB\Client Example: $uriOptions = ['retryReads' => false]; Connection URI Example: retryReads=false | |
Data Type: bool MongoDB\Client Example: $uriOptions = ['retryWrites' => false]; Connection URI Example: retryWrites=false | |
Data Type: bool MongoDB\Client Example: $uriOptions = ['loadBalanced' => true]; Connection URI Example: loadBalanced=true | |
Data Type: int MongoDB\Client Example: $uriOptions = ['srvMaxHosts' => 5]; Connection URI Example: srvMaxHosts=5 |
Documentação da API
Para obter mais informações sobre a classe MongoDB\Client
, consulte a seguinte documentação da API da biblioteca PHP:
Para obter mais informações sobre a classe MongoDB\Driver\ReadPreference
, consulte a seguinte documentação da API de extensão PHP: