Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

Opciones de conexión

En esta guía, puede aprender sobre las opciones de conexión, autenticación y drivers, así como la forma de especificarlas en la configuración de la conexión a la base de datos de su aplicación Laravel. Las opciones de conexión se pasan a la Biblioteca PHP de MongoDB, que gestiona las conexiones a la base de datos.

Para obtener más información sobre la librería MongoDB PHP, consulta la documentación de la librería MongoDB PHP.

Esta guía cubre los siguientes temas:

Aprende cómo agregar las opciones comunes de conexión y autenticación a tu archivo de configuración en las siguientes secciones:

Puedes especificar opciones de conexión o autenticación en el archivo de configuración config/database.php de tu aplicación web Laravel utilizando uno de los siguientes métodos:

  • Agrega la configuración y el valor como un elemento del arreglo en el elemento del arreglo del options.

  • Anexe la configuración y el valor como un parámetro de string del query en la cadena de conexión especificada en el elemento de arreglo dsn.

Para especificar una opción en el arreglo options, añade su nombre y valor como un elemento del arreglo, como se muestra en el siguiente ejemplo:

'connections' => [
'mongodb' => [
'dsn' => 'mongodb+srv://mongodb0.example.com/',
'driver' => 'mongodb',
'database' => 'sample_mflix',
'options' => [
'appName' => 'myLaravelApp',
'compressors' => 'zlib',
'zlibCompressionLevel' => 7,
],
],
],

Para especificar opciones como parámetros en la cadena de conexión, utilice el siguiente formato de sintaxis de string del query:

  • Agrega el carácter de signo de interrogación, ?, para separar la información del host de los parámetros.

  • Agrega las opciones formateándolas como <option>=<value>.

  • Insertar el carácter de ampersand, &, entre cada par de opción y valor para separarlos.

El siguiente ejemplo de configuración muestra la sintaxis del parámetro de la cadena de conexión:

'dsn' => 'mongodb+srv://mongodb0.example.com/?appName=myLaravelApp&compressors=zlib',

La siguiente tabla describe una lista de opciones de conexión y autenticación, junto con sus valores por defecto:

Nombre de la opción
Valores permitidos
Valor por defecto
Descripción

appName

String

Ninguno

Especifica el nombre de la aplicación que la biblioteca PHP de MongoDB envía al despliegue de MongoDB como parte del protocolo de enlace.
Especificar appName puede ayudarle a identificar actividades relacionadas con esa aplicación en los registros del servidor.

mecanismo de autenticación

String

Ninguno

Especifica qué mecanismo de autenticación utilizar. Si no se especifica esta opción, el driver utiliza el mecanismo de autenticación por defecto. Para obtener más información, consulta Autenticación en el manual del Servidor.

authMechanismProperties

String

Ninguno

Especifica más propiedades relacionadas con el mecanismo de autenticación establecido en la opción authMechanism.

authSource

String

Ver descripción

Especifica la base de datos utilizada para la autenticación.
Esta opción tiene como valor predeterminado admin para los mecanismos de autenticación basados ​​en SCRAM, $external para MONGODB-X509 el mecanismo y el nombre de la base de datos o $external para el PLAIN mecanismo.

compresores

Una lista de cadenas separadas por comas

Ninguno

Especifica los compresores de datos que la librería MongoDB PHP utiliza para reducir la cantidad de datos de red enviados entre MongoDB y tu aplicación en el orden especificado.

connectTimeoutMS

Non-negative integer

10000 (10 segundos)

Especifica el tiempo de espera de conexión, en milisegundos, que se pasa a cada flujo TCP subyacente al intentar conectarse al servidor.

directConnection

Booleano

false

Especifica si debe conectarse directamente a un solo host en lugar de descubrir y conectarse a todos los servidores del clúster. Para obtener más información sobre esta configuración, consulta Conexión directa en la Guía de conexión.

heartbeatFrequencyMS

Entero mayor o igual que 500

10000 (10 segundos)

Especifica el tiempo en milisegundos que cada hilo de supervisión espera entre realizar chequeos al servidor.

journal

Booleano

false

Solicita confirmación de que la operación se propagó al registro en disco.

localThresholdMS

Non-negative integer

15

Especifica el tiempo en milisegundos que puede durar el tiempo promedio de ida y vuelta entre el conductor y el servidor, en comparación con el tiempo de ida y vuelta más corto de todos los servidores adecuados.
Un valor de 0 indica que no hay ventana de latencia, por lo que solo el servidor con el menor tiempo promedio de ida y vuelta es elegible.

maxStalenessSeconds

-1o cualquier número entero mayor o igual a 90

-1

Especifica el retardo máximo, en segundos, con respecto al nodo principal que se puede considerar para un nodo secundario en la operación dada.
El valor de esta opción debe ser al 90 menos, de lo contrario, la operación generará un error. Un valor de -1 significa que no hay retardo máximo.

readConcernLevel

String

Ninguno

Especifica el nivel de consistencia de lectura predeterminado para las operaciones realizadas por MongoDB PHP librería. Para obtener más información, ve nivel de consistencia de lectura en el manual del servidor.

readPreference

String

primary

Especifica cómo la MongoDB PHP librería enruta una operación de lectura a los miembros del set de réplicas. Para más información, consulta Preferencia de lectura en el manual del servidor.

readPreferenceTags

Una lista de pares de clave-valor separados por comas

Ninguno

Especifica qué miembros del set de réplicas se consideran para operaciones. Cada instancia de esta clave es un conjunto independiente de etiquetas. El driver verifica cada conjunto de etiquetas hasta que encuentra uno o varios servidores con cada etiqueta.

replicaSet

String

Ninguno

Especifica el nombre del set de réplicas al que se conecta la librería PHP de MongoDB.

retryReads

Booleano

true

Especifica si la librería PHP de MongoDB reintenta una operación de lectura si la operación falla.

serverSelectionTimeoutMS

Non-negative integer

30000 (30 segundos)

Especifica el tiempo en milisegundos que la Librería PHP de MongoDB espera para seleccionar un servidor para una operación antes de agotar el tiempo de espera.

tls

Booleano

false

Especifica la configuración TLS que la biblioteca PHP de MongoDB debe usar en sus conexiones con el servidor.
Por defecto, TLS está desactivado.

tlsPermitirCertificadosInválidos

Booleano

false

Especifica si la biblioteca PHP de MongoDB devuelve un error si el servidor presenta un certificado no válido.
Recomendamos configurar esta opción en true únicamente en entornos de prueba para evitar crear vulnerabilidades de seguridad en su aplicación.

tlsCAFile

String

Ver descripción

Especifica la ruta al archivo de la autoridad de certificación (CA) que la biblioteca PHP de MongoDB utiliza para TLS.
Si no especifica esta opción, el controlador utiliza los certificados raíz de Mozilla del webpki-roots paquete.

tlsCertificateKeyFile

String

Ninguno

Especifica la ruta al archivo de certificado que la biblioteca PHP de MongoDB presenta al servidor para verificar su identidad.
Si no se configura esta opción, la biblioteca PHP de MongoDB no intentará verificar su identidad con el servidor.

tlsInsecure

Booleano

false

Especifica si la biblioteca PHP de MongoDB devuelve un error si el servidor presenta un certificado no válido.
Recomendamos configurar esta opción en true únicamente en entornos de prueba para evitar crear vulnerabilidades de seguridad en su aplicación.

w

Entero no negativo o string

Ninguno

Solicita confirmación de que la operación se ha propagado a un número o variedad específicos de servidores.
Para obtener más información, consulte la sección «Redacción de consultas» en el manual del servidor.

wTimeoutMS

Non-negative integer

Sin límite de tiempo

Especifica un límite de tiempo, en milisegundos, del nivel de confirmación de escritura (write concern). Si una operación no se ha propagado al nivel solicitado dentro del límite de tiempo, la MongoDB PHP librería genera un error.

zlibCompressionLevel

entero entre -1 y 9 (incluido)

-1

Especifica el nivel de zlib compresión si se utiliza ese compresor.
Si se establece un valor de, se selecciona -1 el nivel de compresión6 predeterminado ().
Si se establece un valor de,0 no se aplica compresión, y si se establece un valor de, se 9 aplica la máxima compresión.

Para ver una lista completa de opciones de conexión, consulta la sección Opciones de cadenas de conexión de la guía Cadenas de conexión en el manual del servidor. Seleccionar PHP del menú desplegable Select your language en el lado derecho de la página.

Las opciones del driver modifican el comportamiento de la Librería PHP de MongoDB, que gestiona las conexiones y todas las operaciones entre una aplicación de Laravel y MongoDB.

Puedes especificar las opciones del controlador en el archivo de configuración config/database.php de tu aplicación web Laravel. Para agregar opciones de controlador, agregue el ajuste y el valor como un elemento de arreglo en el elemento de arreglo driver_options, tal como se muestra en el siguiente ejemplo:

'connections' => [
'mongodb' => [
'dsn' => 'mongodb+srv://mongodb0.example.com/',
'driver' => 'mongodb',
'database' => 'sample_mflix',
'driver_options' => [
'serverApi' => 1,
'allow_invalid_hostname' => false,
],
],
]

Consulta la sección $driverOptions: arreglo de la documentación de la librería PHP de MongoDB para ver una lista de opciones de driver.