Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

MongoDB\Client::__construct()

MongoDB\Client::__construct()

Constrói uma nova instância Client .

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

A string de conexão do MongoDB. Consulte Strings de conexão no manual do MongoDB para obter mais informações.

O padrão é "mongodb://127.0.0.1:27017" se não for especificado.

Quaisquer caracteres especiais nos componentes do URI precisam ser codificados de acordo com RFC. Isso é particularmente relevante para o nome de usuário e a senha, que geralmente podem incluir caracteres 3986especiais,@ como, : %ou. Ao conectar por meio de um soquete de domínio Unix, o caminho do soquete pode conter caracteres especiais, como barras, e deve ser codificado. A função brutourtencode() pode ser utilizada para codificar partes constituintes do URI.

$uriOptions : array

Especifica opções adicionais de URI, como credenciais de autenticação ou parâmetros de string de query. As opções especificadas em $uriOptions têm precedência sobre quaisquer opções análogas presentes na $uri string e não precisam ser codificadas de acordo com a 3986RFC.

Consulte a documentação da extensão MongoDB\Driver\Manager::__construct() para obter uma lista de opções suportadas.

$driverOptions : array

Especifica opções específicas para o driver PHP. Além das opções de driver suportadas pela extensão, a biblioteca também suporta a especificação de um mapa de tipo padrão a ser aplicado aos cursores criados.

Nome
Tipo
Descrição

autoEncryption

array

Opções para configurar a criptografia em nível de campo do lado do cliente no driver. Consulte a documentação da extensão para obter uma lista de opções de criptografia suportadas.

Se um MongoDB\Client for fornecido para a opção keyVaultClient, ele será desencapsulado em um MongoDB\Driver\Manager para a extensão.

Novidades na versão 1.6.

driver

array

Metadados adicionais do driver serão passados para o handshake do servidor. Esta é uma array contendo name, version e platform campos de string. Por exemplo:

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

Esse recurso foi projetado principalmente para drivers personalizados e ODMs, que podem querer se identificar no servidor para fins de diagnóstico. Os aplicativos que desejam se identificar devem usar a opção appName URI em vez desta opção.

Novidades na versão 1.7.

API do servidor

Usado para declarar uma versão da API no cliente. Consulte a página de stable API no manual do servidor MongoDB para obter informações adicionais.

Novidades na versão 1.9.

typeMap

array

Mapa de tipo padrão para aplicar aos cursores, que determina como os documentos BSON são convertidos em valores PHP. A biblioteca usa o seguinte mapa de tipos por padrão:

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

builderEncoder

MongoDB\Codec\Encoder

Codificador a ser usado para construtores de query e agregação . Se não for definido, esta opção assumirá como padrão uma nova instância da classe MongoDB\Builder\BuilderEncoder.

Novidades na versão 1.21.

allow_invalid_hostname

booleano

Desabilita a validação do nome de host se true. O padrão é false.

Permitir nomes de host inválidos pode expor o driver a um ataques do tipo man-in-the-middle.

Descontinuado desde a 1.6 versão: esta opção foi descontinuada. Em vez disso, use a tlsAllowInvalidHostnames opção URI .

ca_dir

string

Caminho para um diretório de certificado com hash correto. O armazenamento de certificados do sistema será usado por padrão.

Retorna para a opção de contexto SSL capath obsoleta se não for especificada.

ca_file

string

Caminho para um arquivo de autoridade de certificação. O armazenamento de certificados do sistema será usado por padrão.

Retorna para a opção de contexto SSL cafile obsoleta se não for especificada.

Deprecated since version 1.6: This option has been deprecated. Use the tlsCAFile URI option instead.

crl_file

string

Caminho para um arquivo de lista de revogação de certificado.

pem_file

string

Caminho para um certificado codificado PEM a ser usado para autenticação do cliente.

Retorna para a opção de contexto SSL local_cert obsoleta se não for especificada.

Deprecated since version 1.6: This option has been deprecated. Use the tlsCertificateKeyFile URI option instead.

pem_pwd

string

Senha do certificado codificado PEM (se aplicável).

Retorna para a opção de contexto SSL passphrase obsoleta se não for especificada.

Deprecated since version 1.6: This option has been deprecated. Use the tlsCertificateKeyFilePassword URI option instead.

flexible_cert_validation

booleano

Desabilita a validação do certificado true . O padrão é false.

Retorna para a opção de contexto SSL allow_self_signed obsoleta se não for especificada.

Deprecated since version 1.6: This option has been deprecated. Use the tlsAllowInvalidCertificates URI option instead.

Contexto

resource

Opções de contexto SSL a serem usadas como fallbacks para outras opções de driver (conforme especificado). Observe que o driver não consulta o contexto de fluxo padrão.

Esta opção é suportada para compatibilidade com versões anteriores, mas deve ser considerada obsoleta.

MongoDB\Exception\InvalidArgumentException para erros relacionados à análise de parâmetros ou opções.

MongoDB\Driver\Exception\InvalidArgumentException para erros relacionados à análise de parâmetros ou opções no nível da extensão.

MongoDB\Driver\Exception\RuntimeException para outros erros no nível da extensão (por exemplo erros de conexão).

Um MongoDB\Driver\Manager é construído internamente. De acordo com a especificação de descoberta e monitoramento de servidores, o MongoDB\Driver\Manager::__construct() não executa E/S. As conexões serão inicializadas sob demanda, quando a primeira operação for executada.

If you do not specify a $uri value, the driver connects to a standalone mongod on 127.0.0.1 via port 27017. To connect to a different server, pass the corresponding connection string as the first parameter when creating the Client instance:

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

O exemplo a seguir demonstra como se conectar a um conjunto de réplicas com uma read preference personalizada:

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

O seguinte exemplo demonstra como se conectar a um conjunto de réplicas do MongoDB definida com SSL e autenticação, como é utilizado para MongoDB Atlas:

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

Alternativamente, as credenciais de autenticação e os parâmetros URI podem ser especificados no parâmetro $uriOptions do construtor:

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

The driver supports additional SSL options, which may be specified in the constructor's $driverOptions parameter. Those options are covered in the MongoDB\Driver\Manager::__construct() documentation.

Por padrão, a biblioteca PHP do MongoDB desserializa documentos e arrays BSON como objetos MongoDB\Model\BSONDocument e MongoDB\Model\BSONArray , respectivamente. O exemplo a seguir demonstra como fazer com que a biblioteca desserialize tudo como uma array PHP, como foi feito na extensão legada mongo .

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