MongoDB\Driver\Manager::__construct
(mongodb >=1.0.0)
MongoDB\Driver\Manager::__construct — Cria um novo gerenciador MongoDB
Descrição
$uri
= null
, ?array $uriOptions
= null
, ?array $driverOptions
= null
)Constrói um novo objeto MongoDB\Driver\Manager com as opções especificadas.
Note: De acordo com a » Especificação de descoberta e monitoramento de servidor, esse construtor não executa E/S. As conexões serão inicializadas sob demanda, quando a primeira operação for executada.
Note: Ao especificar qualquer opção de URI SSL ou TLS por meio da string de conexão ou do parâmetro
uriOptions
, a extensão habilitará implicitamente o TLS para suas conexões. Para evitar isso, a opçãotls
deve ser desabilitada explicitamente ou nenhuma opção de TLS deve ser especificada.
Note: Em plataformas Unix, a extensão é sensível a scripts que usam a chamada de sistema fork() sem chamar também exec(). Os usuários são aconselhados a não reusar instâncias de MongoDB\Driver\Manager em um processo filho bifurcado.
Parâmetros
uri
-
Uma URI de conexão » mongodb://:
mongodb://[usuário:senha@]servidor1[:porta1][,servidor2[:porta2],...[,servidorN[:portaN]]][/[BD_autenticacao_padrão][?opções]]
O padrão é
"mongodb://127.0.0.1:27017"
se não especificado.Para obter detalhes sobre as opções de URI suportadas, consulte » Opções de string de conexão no manual do MongoDB. » Opções de pool de conexões não são suportadas, pois a extensão não implementa pools de conexões.
O
uri
é um URL, portanto, quaisquer caracteres especiais em seus componentes precisam ser codificados em URL de acordo com a » RFC 3986. Isto é particularmente relevante para o nome de usuário e a senha, que muitas vezes podem incluir caracteres especiais como@
,:
ou%
. Ao conectar através de um soquete de domínio Unix, o caminho do soquete pode conter caracteres especiais, como barras, e deve ser codificado. A função rawurlencode() pode ser usada para codificar partes constituintes do URI.O componente
defaultAuthDb
pode ser usado para especificar o nome do banco de dados associado às credenciais do usuário; entretanto, a opção de URIauthSource
terá prioridade se especificada. Se nemdefaultAuthDb
nemauthSource
forem especificados, o banco de dadosadmin
será usado por padrão. O componentedefaultAuthDb
não tem efeito na ausência de credenciais do usuário. uriOptions
-
» Opções de string de conexão adicionais, que substituirão quaisquer opções com o mesmo nome no parâmetro
uri
.Opções de URI Opção Tipo Descrição appname string O MongoDB 3.4+ tem a capacidade de anotar conexões com metadados fornecidos pelo cliente conectado. Esses metadados são incluídos nos registros do servidor ao estabelecer uma conexão e também incluídos nos registros de consultas lentas quando a perfilagem do banco de dados está habilitada.
Esta opção pode ser usada para especificar um nome de aplicação, que será incluído nos metadados. O valor não pode exceder 128 caracteres.
authMechanism string O mecanismo de autenticação que o MongoDB usará para autenticar a conexão. Para obter detalhes adicionais e uma lista de valores suportados, consulte » Opções de autenticação no manual do MongoDB.
authMechanismProperties array Propriedades do mecanismo de autenticação selecionado. Para obter detalhes adicionais e uma lista de propriedades suportadas, consulte a » Especificação de autenticação do driver.
Note: Quando não especificada na string URI, esta opção é expressa como um array de pares chave/valor. As chaves e valores neste array devem ser strings.
authSource string O nome do banco de dados associado às credenciais do usuário. O padrão é o componente de banco de dados do URI de conexão ou o banco de dados
admin
se ambos não forem especificados.Para mecanismos de autenticação que delegam o armazenamento de credenciais a outros serviços (por exemplo, GSSAPI), deve ser
"$external"
.canonicalizeHostname bool Se
true
, o driver resolverá o nome real do servidor para o endereço IP antes de autenticar via SASL. Algumas camadas GSSAPI subjacentes já fazem isso, mas a funcionalidade pode estar desativada em suas configurações (por exemplo,krb.conf
). O padrão éfalse
.Esta opção é um sinônimo defasado para a propriedade
"CANONICALIZE_HOST_NAME"
da opção"authMechanismProperties"
da URI.compressors string Uma lista priorizada e delimitada por vírgulas de compressores que o cliente deseja usar. As mensagens só serão compactadas se o cliente e o servidor compartilharem algum compressor em comum, e o compressor usado em cada direção dependerá da configuração individual do servidor ou driver. Consulte a » Especificação de compactação do driver para obter mais informações.
connectTimeoutMS int O tempo em milissegundos para tentar uma conexão antes de atingir o tempo limite. O padrão é 10000 milissegundos.
directConnection bool Esta opção pode ser usada para controlar o comportamento de descoberta do conjunto de réplicas quando apenas um único servidor é fornecido na string de conexão. Por padrão, fornecer um único membro na string de conexão estabelecerá uma conexão direta ou descobrirá membros adicionais dependendo se a opção de URI
"replicaSet"
estiver omitida ou presente, respectivamente. Especifiquefalse
para forçar a ocorrência da descoberta (se"replicaSet"
for omitido) ou especifiquetrue
para forçar uma conexão direta (se"replicaSet"
estiver presente).gssapiServiceName string Define o nome do serviço Kerberos ao conectar-se a instâncias MongoDB Kerberizadas. Este valor deve corresponder ao nome do serviço definido nas instâncias do MongoDB (ou seja, parâmetro do servidor » saslServiceName). O padrão é
"mongodb"
.Esta opção é um sinônimo defasado para a propriedade
"SERVICE_NAME"
da opção"authMechanismProperties"
do URI.heartbeatFrequencyMS int Especifica o intervalo em milissegundos entre as verificações do driver da topologia MongoDB, contado do final da verificação anterior até o início da próxima. O padrão é 60000 milissegundos.
Pela » Especificação de descoberta e monitoramento de servidor, esse valor não pode ser inferior a 500 milissegundos.
journal bool Corresponde ao parâmetro
journal
da preocupação de gravação padrão. Se for igual atrue
, as gravações exigirão o reconhecimento do MongoDB de que a operação foi gravada no diário. Para obter detalhes, consulte MongoDB\Driver\WriteConcern.loadBalanced bool Especifica se o driver está se conectando a um cluster MongoDB por meio de um balanceador de carga. Se for igual a
true
, o driver só pode se conectar a um único servidor (especificado pela string de conexão ou pela pesquisa SRV), a opção de URI"directConnection"
não pode sertrue
, e a opção"replicaSet"
do URI deve ser omitida. O padrão éfalse
.localThresholdMS int O tamanho em milissegundos da janela de latência para selecionar entre várias instâncias adequadas do MongoDB ao resolver uma preferência de leitura. O padrão é 15 milissegundos.
maxStalenessSeconds int Corresponde ao
"maxStalenessSeconds"
da preferência de leitura. Especifica, em segundos, o quão inativo um secundário pode ficar antes que o cliente pare de usá-lo para operações de leitura. Por padrão, não há inatividade máxima e os clientes não considerarão o atraso do secundário ao escolher para onde direcionar uma operação de leitura. Para obter detalhes, consulte MongoDB\Driver\ReadPreference.Se especificada, a inatividade máxima deve ser um número inteiro com sinal de 32 bits maior ou igual a
MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS
(ou seja, 90 segundos).password string A senha do usuário que está sendo autenticado. Esta opção é útil se a senha contiver caracteres especiais, que de outra forma precisariam ser codificados em URL para o URI de conexão. readConcernLevel string Corresponde ao parâmetro level
da preocupação de leitura. Especifica o nível de isolamento de leitura. Para obter detalhes, consulte MongoDB\Driver\ReadConcern.readPreference string Corresponde ao parâmetro
mode
da preferência de leitura. O padrão é"primary"
. Para obter detalhes, consulte MongoDB\Driver\ReadPreference.readPreferenceTags array Corresponde ao parâmetro
tagSets
da preferência de leitura. Os conjuntos de etiquetas permitem direcionar operações de leitura para membros específicos de um conjunto de réplicas. Para obter detalhes, consulte MongoDB\Driver\ReadPreference.Note: Quando não especificada na string URI, esta opção é expressa como um array consistente com o formato esperado por MongoDB\Driver\ReadPreference::__construct().
replicaSet string Especifica o nome do conjunto de réplicas.
retryReads bool Especifica se o driver deve ou não repetir automaticamente determinadas operações de leitura que falham devido a erros transitórios de rede ou eleições de conjunto de réplicas. Esta funcionalidade requer o MongoDB 3.6+. O padrão é
true
.Consulte a » Especificação de leituras repetíveis para mais informações.
retryWrites bool Especifica se o driver deve ou não repetir automaticamente determinadas operações de gravação que falham devido a erros transitórios de rede ou eleições de conjunto de réplicas. Esta funcionalidade requer o MongoDB 3.6+. O padrão é
true
.Consutle » Gravações Repetíveis no manual do MongoDB para obter mais informações.
safe bool Se
true
, especifica1
para o parâmetrow
da preocupação de gravação padrão. Sefalse
,0
será especificado. Para obter detalhes, consulte MongoDB\Driver\WriteConcern.Esta opção está defasada e não deve ser usada.
serverSelectionTimeoutMS int Especifica quanto tempo, em milissegundos, deve-se bloquear para seleção de servidor antes de lançar uma exceção. O padrão é 30000 milissegundos.
serverSelectionTryOnce bool Quando
true
, instrui o driver a verificar a implantação do MongoDB exatamente uma vez após a falha na seleção do servidor e, em seguida, selecionar um servidor ou gerar um erro. Quandofalse
, o driver bloqueia e procura um servidor até o valor"serverSelectionTimeoutMS"
. O padrão étrue
.socketCheckIntervalMS int Se um soquete não tiver sido usado recentemente, o driver precisará verificá-lo através do comando
hello
antes de usá-lo para qualquer operação. O padrão é 5000 milissegundos.socketTimeoutMS int O tempo em milissegundos para tentar enviar ou receber em um soquete antes de atingir o tempo limite. O padrão é 300000 milissegundos (ou seja, cinco minutos).
srvMaxHosts int O número máximo de resultados de SRV a serem selecionados aleatoriamente ao preencher inicialmente a lista de valores iniciais ou, durante a sondagem de SRV, ao incluir novos servidores na topologia. O padrão é
0
(ou seja, sem máximo).srvServiceName string O nome do serviço a ser usado para consulta de SRV na descoberta inicial da lista de valores iniciais de DNS e na sondagem de SRV. O padrão é
"mongodb"
.ssl bool Inicia a conexão com TLS/SSL se for igual a
true
. O padrão éfalse
.Esta opção é um apelido defasado para a opção de URI
"tls"
.tls bool Inicia a conexão com TLS/SSL se for igual a
true
. O padrão éfalse
.tlsAllowInvalidCertificates bool Especifica se o driver deve ou não apresentar erro quando o certificado TLS do servidor for inválido. O padrão é
false
.WarningDesabilitar a validação de certificado cria uma vulnerabilidade.
tlsAllowInvalidHostnames bool Especifica se o driver deve ou não apresentar erro quando há uma incompatibilidade entre o nome do host do servidor e o nome do host especificado pelo certificado TLS. O padrão é
false
.WarningDesabilitar a validação de certificado cria uma vulnerabilidade. Permitir nomes de servidores inválidos pode expor o driver a um » ataque MITM.
tlsCAFile string Caminho para arquivo com uma única autoridade de certificação ou um pacote de autoridades de certificação a ser considerado confiável ao fazer uma conexão TLS. O armazenamento de certificados do sistema será usado por padrão.
tlsCertificateKeyFile string Caminho para o arquivo de certificado do cliente ou arquivo de chave privada do cliente; caso ambos sejam necessários, os arquivos deverão ser concatenados.
tlsCertificateKeyFilePassword string Senha para descriptografar a chave privada do cliente (ou seja, opção de URI
"tlsCertificateKeyFile"
) a ser usada para conexões TLS.tlsDisableCertificateRevocationCheck bool Se
true
, o driver não tentará verificar o status de revogação do certificado (por exemplo, OCSP, CRL). O padrão éfalse
.tlsDisableOCSPEndpointCheck bool Se
true
, o driver não tentará contactar um ponto de extremidade de um respondedor OCSP, se necessário (ou seja, uma resposta OCSP não é grampeada). O padrão éfalse
.tlsInsecure bool Relaxa as restrições de TLS tanto quanto possível. Especificar
true
para esta opção tem o mesmo efeito que especificartrue
para as opções de URI"tlsAllowInvalidCertificates"
e"tlsAllowInvalidHostnames"
. O padrão éfalse
.WarningDesabilitar a validação de certificado cria uma vulnerabilidade. Permitir nomes de servidores inválidos pode expor o driver a um » ataque MITM.
username string O nome do usuário que está sendo autenticado. Esta opção é útil se o nome de usuário contiver caracteres especiais, que de outra forma precisariam ser codificados em URL para o URI de conexão. w int|string Corresponde ao parâmetro
w
da preocupação de gravação padrão. Para obter detalhes, consulte MongoDB\Driver\WriteConcern.wTimeoutMS int|string Corresponde ao parâmetro
wtimeout
da preocupação de gravação padrão. Especifica um limite de tempo, em milissegundos, para a preocupação de gravação. Para obter detalhes, consulte MongoDB\Driver\WriteConcern.Se especificado,
wTimeoutMS
deve ser um número inteiro de 32 bits sem sinal maior ou igual a zero.zlibCompressionLevel int Especifica o nível de compactação a ser usado para o compressor zlib. Esta opção não tem efeito se
zlib
não estiver incluído na opção URI"compressors"
. Consulte a » Especificação de Compactação de Driver para obter mais informações. driverOptions
-
Opções do Driver Opção Tipo Descrição allow_invalid_hostname bool Desativa a validação do nome do host se
true
. O padrão éfalse
.Permitir nomes de servidores inválidos pode expor o driver a um » ataque MITM.
Esta opção é um sinônimo defasado para a opção de URI
"tlsAllowInvalidHostnames"
.autoEncryption array Fornece opções para ativar a criptografia automática em nível de campo do lado do cliente.
Note:
A criptografia automática é um recurso exclusivo da versão Enterprise que se aplica apenas a operações em uma coleção. A criptografia automática não é suportada para operações em um banco de dados ou visualização, e as operações que não são ignoradas resultarão em erro (consulte » libmongocrypt: lista de permissões de criptografia automática). Para ignorar a criptografia automática para todas as operações,
bypassAutoEncryption
deve ser definido comotrue
.A criptografia automática exige que o usuário autenticado tenha a ação de privilégio » listCollections.
A criptografia/descriptografia explícita e a descriptografia automática são um recurso da versão Community. O driver ainda pode descriptografar automaticamente quando
bypassAutoEncryption
for igual atrue
.As seguintes opções são suportadas:
Opções para criptografia automática Opção Tipo Descrição keyVaultClient MongoDB\Driver\Manager O Manager usado para rotear consultas de chave de dados para um cluster MongoDB separado. Por padrão, o Manager e o cluster atuais são usados. keyVaultNamespace string Um namespace totalmente qualificado (por exemplo, "nomeDoBancoDados.nomeDaColecao"
) denotando a coleção que contém todas as chaves de dados usadas para criptografia e descriptografia. Esta opção é obrigatória.kmsProviders array Um documento contendo a configuração de um ou mais provedores KMS, que são usados para criptografar chaves de dados. Os provedores compatíveis incluem
"aws"
,"azure"
,"gcp"
,"kmip"
e"local"
e pelo menos um deve ser especificado.Se um documento vazio for especificado para
"aws"
,"azure"
, ou"gcp"
, o driver tentará configurar o provedor usando » Credenciais Automáticas.O formato para
"aws"
é o seguinte:aws: { accessKeyId: <string>, secretAccessKey: <string>, sessionToken: <string opcional> }
O formato para
"azure"
é o seguinte:azure: { tenantId: <string>, clientId: <string>, clientSecret: <string>, identityPlatformEndpoint: <string opcional> // O padrão é "login.microsoftonline.com" }
O formato para
"gcp"
é o seguinte:gcp: { email: <string>, privateKey: <string base64>|<MongoDB\BSON\Binary>, endpoint: <string opcional> // O padrão é "oauth2.googleapis.com" }
O formato para
"kmip"
é o seguinte:kmip: { endpoint: <string> }
O formato para
"local"
é o seguinte:local: { // Chave mestra de 96 bytes usada para criptografar/descriptografar chaves de dados key: <string base64>|<MongoDB\BSON\Binary> }
tlsOptions array Um documento contendo a configuração TLS para um ou mais provedores KMS. Os provedores suportados incluem
"aws"
,"azure"
,"gcp"
e"kmip"
. Todos os provedores suportam as seguintes opções:<provider>: { tlsCaFile: <string opcional>, tlsCertificateKeyFile: <string opcional>, tlsCertificateKeyFilePassword: <string opcional>, tlsDisableOCSPEndpointCheck: <booleano opcional> }
schemaMap array|object Mapa de espaços de nomes de coleção para um esquema JSON local. Isso é usado para configurar a criptografia automática. Consulte » Regras de criptografia automática no manual do MongoDB para obter mais informações. É um erro especificar uma coleção em
schemaMap
e emencryptedFieldsMap
ao mesmo tempo.Note: Fornecer um
schemaMap
oferece mais segurança do que confiar em esquemas JSON obtidos do servidor. Ele protege contra um servidor malicioso que anuncia um esquema JSON falso, que poderia induzir o cliente a enviar dados não criptografados que deveriam estar criptografados.Note: Os esquemas fornecidos no
schemaMap
aplicam-se apenas à configuração da criptografia automática para criptografia do lado do cliente. Outras regras de validação no esquema JSON não serão aplicadas pelo driver e resultarão em erro.bypassAutoEncryption bool Se true
,mongocryptd
não será executado automaticamente. Isso é usado para desativar a criptografia automática. O padrão éfalse
.bypassQueryAnalysis bool Se
true
, a análise automática dos comandos enviados será desativada e omongocryptd
não será executado automaticamente. Isso permite o caso de uso de criptografia explícita para consultar campos indexados sem exigir a bibliotecacrypt_shared
licenciada pela versão Enterprise ou o processomongocryptd
. O padrão éfalse
.encryptedFieldsMap array|object Mapa de espaçoes de nomes de coleção para um documento
encryptedFields
. Isso é usado para configurar a criptografia consultável. Consulte » Criptografia de campo e consultabilidade no manual do MongoDB para obter mais informações. É um erro especificar uma coleção emencryptedFieldsMap
e emschemaMap
ao mesmo tempo.Note: Fornecer um
encryptedFieldsMap
fornece mais segurança do que confiar em umencryptedFields
obtido do servidor. Ele protege contra um servidor malicioso que anuncia umencryptedFields
falso.extraOptions array As
extraOptions
estão relacionadas ao processomongocryptd
. As seguintes opções são suportadas:mongocryptdURI
(string): URI para conectar-se a um processomongocryptd
existente. O padrão é"mongodb://localhost:27020"
.mongocryptdBypassSpawn
(bool): Setrue
, evita que o driver execute omongocryptd
. O padrão éfalse
.mongocryptdSpawnPath
(string): Caminho absoluto para procurar o bináriomongocryptd
. O padrão é uma string vazia e consulta os caminhos do sistema.mongocryptdSpawnArgs
(array): Array de argumentos de string para passar paramongocryptd
durante a execução. O padrão é["--idleShutdownTimeoutSecs=60"]
.cryptSharedLibPath
(string): Caminho absoluto para a biblioteca compartilhadacrypt_shared
. O padrão é uma string vazia e consulta os caminhos do sistema.cryptSharedLibRequired
(bool): Setrue
, exige que o driver carreguecrypt_shared
. O padrão éfalse
.
Consulte a » Especificação de criptografia do lado do cliente para obter mais informações.
Note: A criptografia automática é um recurso exclusivamente da versçao "enterprise" que se aplica apenas a operações em uma coleção. A criptografia automática não é suportada para operações em um banco de dados ou visualização, e as operações que não são ignoradas resultarão em erro. Para ignorar a criptografia automática para todas as operações, defina
bypassAutoEncryption=true
emautoEncryption
. Para obter mais informações sobre operações permitidas, consulte » Especificação de criptografia do lado do cliente.ca_dir string Caminho para um diretório de certificado com hash correto. O armazenamento de certificados do sistema será usado por padrão.
ca_file string Caminho para arquivo com uma única autoridade de certificação ou um pacote de autoridades de certificação a ser considerado confiável ao fazer uma conexão TLS. O armazenamento de certificados do sistema será usado por padrão.
Esta opção é um sinônimo defasado para a opção de URI
"tlsCAFile"
.context resource As opções de contexto SSL a serem usadas como substitutas se uma opção de driver ou sua opção de URI equivalente, se houver, não for especificada. Observe que a extensão não consulta o contexto de fluxo padrão (ou seja, stream_context_get_default()). As seguintes opções de contexto são suportadas:
Opções de contexto SSL substitutas Opção de driver Opção de contexto (substituta) ca_dir capath ca_file cafile pem_file local_cert pem_pwd passphrase weak_cert_validation allow_self_signed Esta opção é suportada para compatibilidade com versões anteriores, mas deve ser considerada obsoleta.
crl_file string Caminho para um arquivo de lista de certificados revogados. disableClientPersistence bool Se
true
, este gerenciador usará um novo cliente libmongoc, que não será persistido ou compartilhado com outros objetos do gerenciador. Quando este objeto de gerenciador for liberado, seu cliente será destruído e todas as conexões serão fechadas. O padrão éfalse
.Note: Geralmente, desabilitar a persistência do cliente não é recomendado.
driver array Permite que uma biblioteca de nível superior anexe seus próprios metadados ao "handshake" com o servidor. Por padrão, a extensão envia seu próprio nome, versão e plataforma (ou seja, versão PHP) nesta comunicação inicial. Strings podem ser especificadas para as chaves
"name"
,"version"
e"platform"
deste array e serão anexadas ao respectivos campos no documento de "handshake".Note: As informações de "handshake" são limitadas a 512 bytes. A extensão truncará os dados do "handshake" para caber nesta sequência de 512 bytes. Bibliotecas de nível superior são encorajadas a manter seus próprios metadados concisos.
pem_file string Caminho para um certificado codificado em PEM a ser usado para autenticação do cliente.
Esta opção é um sinônimo defasado para a opção de URI
"tlsCertificateKeyFile"
.pem_pwd string Senha para o certificado codificado em PEM (se aplicável).
Esta opção é um sinônimo defasado para a opção de URI
"tlsCertificateKeyFilePassword"
.serverApi MongoDB\Driver\ServerApi Esta opção é usada para declarar uma versão da API do servidor para o gerenciador. Se omitida, nenhuma versão da API será declarada.
weak_cert_validation bool Desativa a validação do certificado se for igual a
true
. O padrão éfalse
Esta opção é um sinônimo defasado para a opção de URI
"tlsAllowInvalidCertificates"
.
Erros/Exceções
- Lança uma exceção MongoDB\Driver\Exception\InvalidArgumentException em caso de erro ao analisar argumentos.
- Lança uma exceção MongoDB\Driver\Exception\RuntimeException se o formato de
uri
for inválido
Registro de Alterações
Versão | Descrição |
---|---|
PECL mongodb 1.16.0 |
O provedor AWS KMS para criptografia do lado do cliente agora aceita uma
opção
Aicionada a opção
Se um documento vazio for especificado para o provedor KMS |
PECL mongodb 1.15.0 |
Se um documento vazio for especificado para o provedor KMS |
PECL mongodb 1.14.0 |
Adicionadas as opções de criptografia automática |
PECL mongodb 1.13.0 |
Adicionadas as opções de URI |
PECL mongodb 1.12.0 |
KMIP agora é suportado como um provedor KMS para criptografia do lado do cliente e
pode ser configurado no campo |
PECL mongodb 1.11.0 |
Adicionada a opção de URI |
PECL mongodb 1.10.0 |
Adicionada a opção de driver
Azure e GCP agora são suportados como provedores KMS para criptografia
do lado do cliente e podem ser configurados no
campo |
PECL mongodb 1.8.0 |
Adicionadas as opções de URI
Adicionada a opção de driver |
PECL mongodb 1.7.0 |
Adicionada a opção de driver
Especificar qualquer opção SSL ou TLS por meio do parâmetro |
PECL mongodb 1.6.0 |
Adicionadas as opções de URI
A opção de URI
Especificar qualquer opção de URI SSL ou TLS por meio da string de conexão ou
do parâmetro |
PECL mongodb 1.5.0 |
|
PECL mongodb 1.4.0 |
Adicionadas as opções de URI |
PECL mongodb 1.3.0 |
O parâmetro |
PECL mongodb 1.2.0 |
O padrão para o parâmetro
Adicionada a opção de URI
Adicionadas as opções de driver
A API de Fluxos do PHP não é mais usada para comunicação de soquete. A
opção de URI |
PECL mongodb 1.1.0 |
O parâmetro |
Exemplos
Example #1 Exemplos básicos de MongoDB\Driver\Manager::__construct()
Conexão a um nó independente do MongoDB:
<?php
$manager = new MongoDB\Driver\Manager("mongodb://example.com:27017");
?>
Conectando-se ao nó independente do MongoDB por meio de um soquete de domínio Unix. O caminho do soquete pode incluir caracteres especiais como barras e deve ser codificado com rawurlencode().
<?php
$manager = new MongoDB\Driver\Manager("mongodb://" . rawurlencode("/tmp/mongodb-27017.sock"));
?>
Conectando-se a um conjunto de réplicas:
<?php
$manager = new MongoDB\Driver\Manager("mongodb://rs1.example.com,rs2.example.com/?replicaSet=myReplicaSet");
?>
Conectando-se a um cluster fragmentado (ou seja, uma ou mais instâncias do mongos):
<?php
$manager = new MongoDB\Driver\Manager("mongodb://mongos1.example.com,mongos2.example.com/");
?>
Conectando-se ao MongoDB com credenciais de autenticação para um usuário e banco de dados específicos:
<?php
$manager = new MongoDB\Driver\Manager("mongodb://meuUsuario:[email protected]/?authSource=nomeBancoDeDados");
?>
Conectando-se ao MongoDB com credenciais de autenticação para um usuário e
banco de dados específicos, onde o nome de usuário ou senha inclui caracteres
especiais (por exemplo, @
, :
,
%
). No exemplo a seguir, a string de senha
myp@ss:w%rd
foi escapada manualmente; entretanto,
rawurlencode() também pode ser usado para escapar componentes URI
que podem conter caracteres especiais.
<?php
$manager = new MongoDB\Driver\Manager("mongodb://meuUsuario:myp%40ss%3Aw%[email protected]/?authSource=nomeBancoDeDados");
?>
Conectando-se ao MongoDB com autenticação X509:
<?php
$manager = new MongoDB\Driver\Manager(
"mongodb://example.com/?ssl=true&authMechanism=MONGODB-X509",
[],
[
"pem_file" => "/caminho/para/cliente.pem",
]
);
?>