Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
MongoDB Branding Shape
Click here >
Docs Menu

MongoDB\Client::__construct()

MongoDB\Client::__construct()

Construye una nueva instancia de Client.

function __construct(
?string $uri = null,
array $uriOptions = [],
array $driverOptions = []
)
$uri : string

La cadena de conexión MongoDB. Consulta cadena de conexión en el manual de MongoDB para obtener más información.

Por defecto es "mongodb://127.0.0.1:27017" si no se especifica.

Cualquier carácter especial en los componentes del URI debe codificarse según RFC 3986. Esto es especialmente relevante para el nombre de usuario y la contraseña, que a menudo pueden incluir caracteres especiales como @, : o %. Cuando te conectas a través de un socket de dominio Unix, la ruta del socket puede contener caracteres especiales como barras diagonales y debe ser codificada. Se puede usar la función rawurlencode() para codificar las partes constituyentes del URI.

$uriOptions : arreglo

Especifica opciones URI adicionales, como credenciales de autenticación o parámetros del string del query. Las opciones especificadas en $uriOptions tienen prioridad sobre cualquier opción análoga presente en la string $uri y no es necesario codificarlas según RFC 3986.

Consulta la documentación de la extensión MongoDB\Driver\Manager::__construct() para obtener una lista de las opciones admitidas.

$driverOptions : arreglo

Especifica opciones específicas para el controlador PHP. Además de las opciones soportadas por la extensión, la librería también permite especificar un type map por defecto a aplicar a los cursores que crea.

Nombre
Tipo
Descripción

autoEncryption

arreglo

Opciones para configurar el cifrado a nivel de campo del lado del cliente en el controlador. Consulta la documentación de la extensión para obtener una lista de las opciones de cifrado compatibles.

Si se proporciona un MongoDB\Client para la opción keyVaultClient, se desempaquetará como un MongoDB\driver\administrador para la extensión.

Novedad 1.6 en la versión.:

controlador

arreglo

Metadatos adicionales del controlador que se transmitirán en el apretón de manos del servidor. Este es un arreglo que contiene los campos de string name, version y platform. Por ejemplo:

[
'name' => 'my-driver',
'version' => '1.2.3-dev',
'platform' => 'some-platform',
]

Esta funcionalidad está diseñada principalmente para drivers personalizados y ODMs, que pueden querer identificarse ante el servidor con fines de diagnóstico. Las aplicaciones que deseen identificarse deberían usar la opción de URI appName en lugar de esta opción.

Novedad 1.7 en la versión.:

serverApi

Se utiliza para declarar una versión de la API en el cliente. Consulta la página API estable en el manual del servidor para obtener información adicional.

Novedad 1.9 en la versión.:

typeMap

arreglo

Mapa de tipo por defecto para aplicar a los cursores, que determina cómo se convierten los documentos BSON a valores de PHP. La librería utiliza el siguiente mapa de tipos por defecto:

[
'array' => 'MongoDB\Model\BSONArray',
'document' => 'MongoDB\Model\BSONDocument',
'root' => 'MongoDB\Model\BSONDocument',
]

builderEncoder

MongoDB\Codec\Encoder

Codificadora que se va a usar para los desarrolladores de query y agregaciones. Si no se establece, esta opción será por defecto una nueva instancia de la clase MongoDB\Builder\BuilderEncoder.

Novedad 1.21 en la versión.:

allow_invalid_hostname

booleano

Desactiva la validación del nombre de host si true. Por defecto es false.

Permitir nombres de host no válidos puede exponer al controlador a un ataque de intermediario.

Obsoleto desde la 1.6 versión: Esta opción ha quedado obsoleta. Utilice la tlsAllowInvalidHostnames opción URI en su lugar.

ca_dir

string

Ruta a un directorio de certificados correctamente encriptada. Por defecto, se utilizará el almacén de certificados del sistema.

Vuelve a la opción de contexto SSL obsoleta capath si no se especifica.

ca_file

string

Ruta a un archivo de autoridad certificadora. Por defecto, se utilizará el almacén de certificados del sistema.

Vuelve a la opción de contexto SSL obsoleta cafile si no se especifica.

Obsoleto desde la 1.6 versión: Esta opción ha quedado obsoleta. Utilice la tlsCAFile opción URI en su lugar.

crl_file

string

Ruta a un archivo de lista de revocación de certificados.

archivo_pem

string

Ruta a un certificado codificado en PEM para usar en la autenticación de clientes.

Vuelve a la opción de contexto SSL obsoleta local_cert si no se especifica.

Obsoleto desde la 1.6 versión: Esta opción ha quedado obsoleta. Utilice la tlsCertificateKeyFile opción URI en su lugar.

pem_pwd

string

Frase de contraseña para el certificado codificado PEM (si corresponde).

Vuelve a la opción de contexto SSL obsoleta passphrase si no se especifica.

Obsoleto desde la 1.6 versión: Esta opción ha quedado obsoleta. Utilice la tlsCertificateKeyFilePassword opción URI en su lugar.

validación_de_certificados_débil

booleano

Desactiva la validación del certificado true. Por defecto es false.

Vuelve a la opción de contexto SSL obsoleta allow_self_signed si no se especifica.

Obsoleto desde la 1.6 versión: Esta opción ha quedado obsoleta. Utilice la tlsAllowInvalidCertificates opción URI en su lugar.

context

resource

Opciones de contexto SSL para ser utilizadas como alternativas de seguridad para otras opciones de controlador (según se especifique). Observe que el driver no consulta el contexto de flujo por defecto.

Esta opción se admite por compatibilidad con versiones anteriores, pero debe considerarse obsoleta.

MongoDB\Exception\InvalidArgumentException por errores relacionados con el análisis de parámetros u opciones.

MongoDB\Driver\Exception\InvalidArgumentException para errores relacionados con el análisis de parámetros u opciones a nivel de extensión.

MongoDB\Driver\Exception\RuntimeException para otros errores a nivel de extensión (por ejemplo, " errores de conexión).

Se construye internamente un MongoDB\driver\administrador. Según la spec de descubrimiento y supervisión de servidor, MongoDB\driver\Manager::__construct() no realiza entrada/salida. Las conexiones se inicializarán on-demand, cuando se ejecute la primera operación.

Si no se especifica un valor de $uri, el driver se conecta a una instancia autónomo de mongod en 127.0.0.1 a través del puerto 27017. Para conectarse a un servidor diferente, pase la cadena de conexión correspondiente como primer parámetro al crear la instancia de Client:

<?php
$client = new MongoDB\Client('mongodb://mongodb-deployment:27017');

El siguiente ejemplo demuestra cómo conectar a un set de réplicas con una preferencia de lectura personalizada:

<?php
$client = new MongoDB\Client(
'mongodb://rs1.example.com,rs2.example.com/?replicaSet=myReplicaSet',
[
'readPreference' => 'secondaryPreferred',
]
);

El siguiente ejemplo demuestra cómo conectarse a un set de réplicas de MongoDB con SSL y autenticación, tal como se utiliza para MongoDB Atlas:

<?php
$client = new MongoDB\Client(
'mongodb://myUsername:myPassword@rs1.example.com,rs2.example.com/?ssl=true&replicaSet=myReplicaSet&authSource=admin'
);

Alternativamente, las credenciales de autenticación y los parámetros de URI pueden especificarse en el parámetro $uriOptions del constructor:

<?php
$client = new MongoDB\Client(
'mongodb://rs1.example.com,rs2.example.com/'
[
'username' => 'myUsername',
'password' => 'myPassword',
'ssl' => true,
'replicaSet' => 'myReplicaSet',
'authSource' => 'admin',
],
);

El controlador admite opciones adicionales de SSL, que pueden especificarse en el parámetro $driverOptions del constructor. Esas opciones están cubiertas en la documentación de MongoDB\Driver\Manager::__construct().

Por defecto, la MongoDB PHP Library deserializa documentos BSON y arreglos como MongoDB\Model\BSONDocument y MongoDB\Model\BSONArray objetos, respectivamente. El siguiente ejemplo demuestra cómo hacer que la librería deserialice todo como un arreglo PHP, tal como se hacía en la extensión heredada mongo.

<?php
$client = new MongoDB\Client(
null,
[],
[
'typeMap' => [
'root' => 'array',
'document' => 'array',
'array' => 'array',
],
]
);