(mongodb >=1.4.0)
MongoDB\Driver\Server::executeReadCommand — Ejecuta un comando de base de datos que lee en este servidor
$db
, MongoDB\Driver\Command $command
, ?array $options
= null
): MongoDB\Driver\Cursor
Ejecuta el comando en este servidor, independientemente de la opción
"readPreference"
.
Este método aplicará una lógica específica a los comandos de lectura (por ejemplo
» distinct).
Los valores por omisión para las opciones "readPreference"
y
"readConcern"
serán deducidos de una transacción activa (indicada por
la opción "session"
), seguida de la
URI de conexión.
Nota: La opción
"readPreference"
no controla el servidor al cual el controlador emite la opración; siempre se ejecutará en este objeto de servidor. En su lugar, podría usarse al emitir una operación a un secundario (desde una conexión de cojunto réplica, no solo) o a un nodo de mongo para asegurarse de que el controlador establece el protocolo de escritura en consecuencia, o añade la preferencia de lectura a la operación, respectivamente.
db
(string)El nombre de la base de datos en la que ejecutar el comando.
command
(MongoDB\Driver\Command)El comando a ejecutar.
options
Option | Type | Description |
---|---|---|
readConcern | MongoDB\Driver\ReadConcern |
Un asunto de escritura a aplicar a la operación. Esta opción está disponible en MongoDB 3.2+ y resultará en una excepción en tiempo de ejecución si es especificada para una versión de servidor más antigua. |
readPreference | MongoDB\Driver\ReadPreference |
Una preferencia de lectura a usar para seleccionar un servidor para la operación. |
session | MongoDB\Driver\Session |
Una sesión a asociar con la operación. |
Si se usa la opción "session"
con sesión que tenga una transacción
en progreso, no se puede especificar una opción "readConcern"
o
"writeConcern"
. Esto resultarña en una
MongoDB\Driver\Exception\InvalidArgumentException.
En su lugar se debería establecer estas dos opciones al crear
la transacción con
MongoDB\Driver\Session::startTransaction().
Devuelve un MongoDB\Driver\Cursor en caso de éxito.
"session"
se usa con una transacción asociada junto a la opción "readConcern"
o "writeConcern"
option.