Docs Menu
Docs Home
/ /

Especifica opciones de conexión

Esta página describe las opciones de conexión y autenticación de MongoDB disponibles en la biblioteca PHP.

Puede configurar su conexión especificando opciones en la URI de conexión o pasándolas al MongoDB\Client constructor.

Si pasa una URI de conexión al constructor MongoDB\Client, puede incluir opciones de conexión en la URI como pares <name>=<value>. En el siguiente ejemplo, la URI de conexión establece la opción tls en true y la opción tlsCertificateKeyFile en /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);

Puede pasar opciones de conexión al constructor MongoDB\Client en lugar de incluirlas en su URI de conexión.

El siguiente ejemplo muestra cómo utilizar el parámetro $uriOptions del constructor MongoDB\Client para establecer opciones de conexión:

// 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);

Nota

Si especifica una opción tanto en el parámetro $uriOptions como en el URI de conexión, el valor en $uriOptions tiene prioridad.

Las siguientes secciones describen las opciones que puede configurar para su conexión a MongoDB. Cada opción de conexión enlaza con su entrada correspondiente en el manual del servidor MongoDB.

Importante

Codificación porcentual

Si el valor de una opción de conexión contiene caracteres especiales, debe codificación porcentualEl valor antes de incluirlo en la URI de conexión. Puede usar el rawurlencode() método para codificar estos valores según la sintaxis de URI especificada en RFC.3986

No codifique en porcentaje las opciones de conexión al incluirlas en el parámetro $uriOptions.

Para aprender más, consulta los siguientes recursos:

Opción de conexión
Descripción
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

Para obtener más información sobre las opciones TLS disponibles en la biblioteca PHP, consulte la PáginaTLS.

Opción de conexión
Descripción
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
Opción de conexión
Descripción
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
Opción de conexión
Descripción
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
Opción de conexión
Descripción
Data Type: string
MongoDB\Client Example: $uriOptions = ['readConcernLevel' => 'majority'];
Connection URI Example: readConcernLevel=majority
Opción de conexión
Descripción
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:
$uriOptions = [
'readPreferenceTags' => [
['dc' => 'ny', 'rack' => 'r1'],
[],
],
];

Ejemplo de URI de conexión: readPreferenceTags=dc:ny,rack:r1&readPreferenceTags=

Para aprender las opciones de autenticación disponibles en la librería PHP, consulta Mecanismos de autenticación.

Opción de conexión
Descripción
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
Opción de conexión
Descripción
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

Para obtener más información sobre la clase MongoDB\Client, consulte la siguiente documentación de la API de la biblioteca PHP:

Para obtener más información sobre la clase MongoDB\Driver\ReadPreference, consulte la siguiente documentación de la API de extensión PHP:

Volver

Elija un destino de conexión