Visão geral
Esta página contém exemplos de código que mostram como conectar seu aplicação PHP ao MongoDB com várias configurações.
Dica
Para saber mais sobre as opções de conexão nesta página, consulte o link fornecido em cada seção.
To use a connection example from this page, copy the code example into the sample application or your own application. Make sure to replace all placeholders in the code examples, such as <hostname>, with the relevant values for your MongoDB deployment.
Aplicativo de amostra
Você pode usar o seguinte aplicativo de exemplo para testar os exemplos de código nesta página. Para usar o aplicativo de amostra, execute as seguintes etapas:
Verifique se a biblioteca PHP do MongoDB está instalada em seu projeto. Para saber mais sobre como instalar a biblioteca PHP do MongoDB , consulte o guia de download e instalação .
Copie o seguinte código e cole-o em um novo arquivo
.php.Copie um exemplo de código desta página e cole-o nas linhas especificadas no arquivo.
Dica
The require statement in the sample application loads the MongoDB PHP Library and assumes that the vendor directory is in the same directory as your application file. If your application file is located elsewhere, adjust the path to vendor/autoload.php accordingly.
1 2 3 require __DIR__ . '/vendor/autoload.php'; 4 5 // Start example code here 6 7 // End example code here 8 9 try { 10 $client->test->command(['ping' => 1]); 11 echo 'Successfully pinged the MongoDB server.', PHP_EOL; 12 } catch (MongoDB\Driver\Exception\RuntimeException $e) { 13 printf("Failed to ping the MongoDB server: %s\n", $e->getMessage()); 14 }
Importante
Codificação percentual
Você deve codificar um nome de usuário e uma senha antes de incluí-los em um URI MongoDB . Você pode usar o rawurlencode() método para codificar esses valores de acordo com a sintaxe do URI especificada em RFC.3986 Não codifique o nome de usuário ou a senha ao passá-los em um parâmetro de array de opções para o MongoDB\Client construtor.
Conexão
Atlas
Atlas connection strings use the mongodb+srv prefix and include your database user's credentials. The following code shows how to connect to a MongoDB Atlas deployment:
$uri = 'mongodb+srv://<db_username>:<db_password>@<cluster-url>/'; $client = new MongoDB\Client($uri);
Para saber mais sobre como se conectar a um sistema do Atlas , consulte Atlas no guia Alvos de conexão.
Sistemas locais
O código a seguir mostra como se conectar a um MongoDB deployment local:
$uri = 'mongodb://localhost:27017/'; $client = new MongoDB\Client($uri);
Observação
Se você não especificar o parâmetro $uri , o URI de conexão padrão será 'mongodb://127.0.0.1:27017'.
Para saber mais sobre como se conectar a uma implantação local, consulte Implantações locais no guia Alvos de conexão.
Conjunto de réplicas
O código a seguir mostra como se conectar a um sistema de conjunto de réplicas:
$client = new MongoDB\Client( 'mongodb://<replica set member>:<port>/', ['replicaSet' => '<replica set name>'], );
$uri = 'mongodb://<replica set member>:<port>/?replicaSet=<replica set name>'; $client = new MongoDB\Client($uri);
Dica
Para manter sua conexão com um sistema do conjunto de réplicas quando um host está inativo, você pode fornecer vários membros do conjunto de réplicas no URI de conexão.
Para saber mais sobre como se conectar a um conjunto de réplicas, consulte Conjuntos de réplicas no guia Alvos de conexão.
Stable API
O seguinte código mostra como habilitar a Stable API para a conexão com sua instância do MongoDB :
$driverOptions = ['serverApi' => new MongoDB\Driver\ServerApi('1')]; $client = new MongoDB\Client( 'mongodb://<hostname>:<port>/', [], $driverOptions, );
Para saber mais sobre a API estável, consulte o guia Conectar-se com a API estável.
Compactação de rede
O código a seguir mostra como especificar os algoritmos de compressão Snappy, zlib e Zstandard para uma conexão:
$client = new MongoDB\Client( 'mongodb://<hostname>:<port>', ['compressors' => 'snappy,zstd,zlib'], );
$uri = 'mongodb://<hostname>:<port>/?compressors=snappy,zstd,zlib'; $client = new MongoDB\Client($uri);
Para saber mais sobre a compactação de rede, consulte o guia Como compactar tráfego de rede.