Overview
Esta página contiene ejemplos de código que muestran cómo conectar tu aplicación PHP a MongoDB con varias configuraciones.
Tip
Para obtener más información sobre las opciones de conexión de esta página, consulta el enlace proporcionado en cada sección.
Para usar un ejemplo de conexión de esta página, copia el ejemplo de código en el
aplicación de muestra o su propia aplicación. Asegúrate de reemplazar todos los marcadores de posición en los ejemplos de código, tales como
<hostname>, con los valores relevantes para tu implementación de MongoDB.
Aplicación de muestra
Puede utilizar la siguiente aplicación de muestra para probar los ejemplos de código en esta página. Para usar la aplicación de muestra, siga los siguientes pasos:
Asegúrate de tener instalada la Librería PHP de MongoDB en tu proyecto. Para obtener más información sobre la instalación de la librería PHP de MongoDB, consultar la Descarga e instala la guía.
Copia el siguiente código y pégalo en un nuevo archivo
.php.Copia un ejemplo de código de esta página y pégalo en las líneas especificadas del archivo.
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
Codificación porcentaje
Debe porcentaje-codificar un nombre de usuario y contraseña antes de incluirlos en una URI de MongoDB. Puedes usar el método rawurlencode() para codificar estos valores de acuerdo con la sintaxis URI especificada en RFC 3986. No codifique en porcentaje el nombre de usuario ni la contraseña al pasarlos en un parámetro de arreglo de opciones al constructor MongoDB\Client.
Conexión
Atlas
El siguiente código muestra cómo conectarse a una implementación de MongoDB Atlas:
$uri = '<Atlas connection string>'; $client = new MongoDB\Client($uri);
Para obtener más información sobre cómo conectarse a una implementación de Atlas, consulte Atlas en la guía de objetivos de conexión.
Implementación local
El siguiente código muestra cómo conectarse a una implementación de MongoDB local:
$uri = 'mongodb://localhost:27017/'; $client = new MongoDB\Client($uri);
Nota
Si no se especificas el parámetro $uri, el URI de conexión se establece en 'mongodb://127.0.0.1:27017' por defecto.
Para conocer más sobre la conexión a una implementación local, consulte Implementaciones locales en la guía de Objetivos de conexión.
Set de réplicas
El siguiente código muestra cómo conectarse a una implementación 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);
Tip
Para mantener tu conexión a una implementación de set de réplicas cuando un host está caído, puedes proporcionar varios miembros del set de réplicas en el URI de conexión.
Para obtener más información sobre cómo conectarse a un set de réplicas, consulta Sets de réplicas en la guía Objetivos de Conexión.
Stable API
El siguiente código muestra cómo habilitar la Stable API para la conexión a tu instancia de MongoDB:
$driverOptions = ['serverApi' => new MongoDB\Driver\ServerApi('1')]; $client = new MongoDB\Client( 'mongodb://<hostname>:<port>/', [], $driverOptions, );
Para obtener más información sobre la API estable, consulte la guía Conectar con la API estable.
Compresión de la red
El siguiente código muestra cómo especificar los algoritmos de compresión Snappy, Zlib y Zstandard para una conexión:
$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 obtener más información sobre la compresión de redes, consulte la guía Comprimir tráfico de red.