Un array con opciones para la conexión. Las opciones disponibles
actualmente son:
-
"authMechanism"
Los mecanismos de autenticación son:
-
"authSource"
Debería estar establecido al nombre de la base de datos cuando lo defina.
-
"connect"
Si el constructor debería conectar antes de devolver. El valor predeterminado es
TRUE
. Si se establece a FALSE
, el controlador se conectará
automáticamente al servidor cuando
sea necesario realizar una consulta. Alternativamente, se puede ejecutar
MongoClient::connect() de forma manual.
Advertencia
Esta opción no está admitida a través del string de conexión.
-
"connectTimeoutMS"
Cuánto puede tomar una conexión para ser abierta antes de expirar en
milisegundos. El valor predeterminado es 60000 (60 segundos).
Si se especifica -1, no se aplicará un tiempo límite
a la conexión y PHP usará
default_socket_timeout.
-
"db"
La base de datos en la que autenticarse se puede especificar aquí, en lugar de
incluirla en la lista de hosts. Esto anula una base de datos proporcionada en la
lista de hosts.
-
"fsync"
Cuando "fsync" está establecido, todas las operaciones de escritura
bloquearán hasta que la base de datos haya volcado los cambios al disco. Esto hace que las
operaciones de escritura sean más lentas, pero garantiza su éxito
y que puedan ser recuperadas en caso de un fallo
total del sistema.
Si el servidor de MongoDB tiene el registro en el diario habilitado, esta opción es idéntica
a "journal". Si el registro no está habilitado, esta opción
se asegura de que las operaciones de escritura se sincronicen con los ficheros de la base
de dato del disco.
Nota:
Si el registro en el diario está habilitado, se recomienda utilizar la opción
"journal" en lugar de
"fsync". No use "fsync" y
"journal" simultáneamente, ya que resultará en
un error.
-
"journal"
Cuando "journal" está establecido, todas las operaciones de escritura
bloquearán hasta que la base de datos haya volcado los cambios del diario al disco.
Esto hace que las operaciones de escritura sean más lentas, pero garantiza su éxito
y que puedan ser recuperadas en caso de un fallo
total del sistema.
Nota:
Si está operación se usa y el registro en el diario está deshabilitado, MongoDB 2.6+
emitirá un error y la escritura fallará; las versiones más antiguas del servidor
simplemente ignorarán esta opción.
-
"gssapiServiceName"
Establece el » Jefe de servicios de Kerberos. Aplicable solamente si authMechanism=GSSAPI. El valor predeterminado es "mongodb".
-
"password"
La contraseña se puede especificar aquí, en lugar de hacerlo en la
lista de hosts. Esto es especialmente útil si una contraseña contuviera un carácter "@".
Esto anula a una contraseña establecida en la lista de hosts.
-
"readPreference"
Especifica el tipo de preferencia de lectura. Las preferencias de lectura proporcionan
control sobre los secundarios desde los que se pueden leer datos.
Los valores permitidos son: MongoClient::RP_PRIMARY
,
MongoClient::RP_PRIMARY_PREFERRED
,
MongoClient::RP_SECONDARY
,
MongoClient::RP_SECONDARY_PREFERRED
y
MongoClient::RP_NEAREST
.
Véase la documentación sobre preferencias
de lectura para más información.
-
"readPreferenceTags"
Especifica las etiquetas de preferencia de lectura como un array de strings. Las
etiquetas se pueden usar junto con la opción readPreference
para un control mayor sobre los secundarios desde los que se podrían leer datos.
Véase la documentación sobre preferencias
de lectura para más información.
-
"replicaSet"
El nombre del conjunto de réplica al que conectarse. Si se proporciona, el
primario se determinará automáticamente. Esto significa que el controlador
podría acabar por conectarse a un servidor que no estuviera en la lista.
Véase el ejemplo del conjunto de réplica abajo para mas detalles.
-
"secondaryAcceptableLatencyMS"
Cuando se lee de un secundario (usando ReadPreferences), no leer de secundarios que se sabe que están a más de
secondaryAcceptableLatencyMS de nosotros. El valor predeterminado es 15
-
"socketTimeoutMS"
Cuánto puede tomar una operación de socket (lectura o escritura) antes de expirar,
en milisegundos. El valor predeterminado es 30000 (30 segundos).
Si se especifica -1, las operaciones de socket podrían quedar en espera
indefinidamente. Esta opción también podría establecerse de acuerdo a cada operación
usando MongoCursor::timeout() para consultas o la
opción "socketTimeoutMS" para métodos de escritura.
Nota:
Este es un tiempo límite del lado del cliente. Si un una operación de escritura expira, no
hay forma de saber si el servidor manejó realmente la escritura o no, ya que
se lanzará una MongoCursorTimeoutException
en lugar de devolver un resultado de escritura.
-
"ssl"
Un booleano para especificar si se desea habilitar SSL para las
conexiones a MongoDB. Las opciones extra, como los certificados,
se pueden establecer con Opciones de contexto para SSL.
-
"username"
El nombre de usuario se puede especificar aquí, en lugar de incluirlo en la
lista de hosts. Esto es especialmente útil de un nombre de usuario contuviera un carácter ":".
Esto anula un nombre de usuario establecido en la lista de hosts.
-
"w"
La opción w especifica el
Asunto de Escritura para el controlador,
que determina por cuánto tiempo éste bloqueará al escribir. El
valor predeterminado es 1.
Esta opción es aplicable al conectar tanto a servidores únicos como a
conjuntos de réplica. Un valor positivo controla cuántos
nodos deberán reconocer la instrucción de escritura antes de que el controlador
continue. Un valor de 1 requerirá que el servidor
único o primario (en un conjunto de réplica) reconozca la operación de
escritura. Un valor de 3 hará que el controlador
bloquee hasta que la escritura haya sido aplicada al servidor primario
y a dos secundarios (en un conjunto de réplica).
Se usa un valor de tipo string para controlar qué conjuntos de etiquetas se toman
en cuenta para asuntos de escritura. "majority" es especial
y se asegura de que la opración de escritura haya sido replicada a la mayoría
(más del 50%) de los nodos participantes.
-
"wTimeoutMS"
Esta opción especifica el tiempo límite, en milisegundos, para el reconocimiento
de un
asunto de escritura.
Solamente es aplicable para operaciones de escritura donde
"w" sea mayor que 1, ya que el
tiempo de espera está relacionado con la replecación. Si el asunto de escritura no se satisface
dentro del tiempo límite, se lanzará una MongoCursorException.
Se puede especificar un valor de 0 para
bloquear indefinidamente. El valor predeterminado es 10000
(diez segundos).
Las siguientes opciones están obsoletas y no deberían usarse más: