Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Menu Docs
Página inicial do Docs
/ / /
Manual da Biblioteca PHP
/ /

MongoDB\Client::__construct()

MongoDB\Client::__construct()

Constrói uma nova instância do Client .

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

A connection string do MongoDB. Consulte Connection Strings 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 3986. Isso é particularmente relevante para o nome de usuário e a senha, que geralmente podem incluir caracteres especiais,@ 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 RFC 3986.

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 for fornecido para MongoDB\Client a keyVaultClient opção, ele será desencapsulado em um MongoDB\Driver\Manager para a extensão.

Novidade 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.

Novidade 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 versão 1,6: Esta opção foi descontinuada. Em vez disso, use a opção URI tlsAllowInvalidHostnames .

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.

Descontinuado desde a versão 1,6: Esta opção foi descontinuada. Em vez disso, use a opção URI tlsCAFile .

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.

Descontinuado desde a versão 1,6: Esta opção foi descontinuada. Em vez disso, use a opção URI tlsCertificateKeyFile .

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.

Descontinuado desde a versão 1,6: Esta opção foi descontinuada. Em vez disso, use a opção URI tlsCertificateKeyFilePassword .

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.

Descontinuado desde a versão 1,6: Esta opção foi descontinuada. Em vez disso, use a opção URI tlsAllowInvalidCertificates .

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.

Se você não especificar um valor do $uri, o driver conectará a um mongod autônomo no 127.0.0.1 via porta 27017. Para conectar a um servidor diferente, passe a string de conexão correspondente como o primeiro parâmetro ao criar a instância do Client:

<?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:[email protected],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',
],
);

O driver é compatível com opções SSL adicionais, que podem ser especificadas no parâmetro $driverOptions do construtor. Essas opções são abordadas na documentação do MongoDB\Driver\Manager::__construct().

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',
],
]
);

Voltar

MongoDB\Client

Nesta página