(mongodb >=1.4.0)
MongoDB\Driver\Server::executeReadWriteCommand — Ejecuta un comando de base de datos que lee y escribe en este servidor
$db
, MongoDB\Driver\Command $command
, ?array $options
= null
): MongoDB\Driver\CursorEjecuta el comando en este servidor.
Este método aplicará una lógica específica a los comandos de lectura y escritura
(por ejemplo » aggregate).
Los valores por omisión para las opciones "readConcern"
y
"writeConcern"
serán deducidos de una transacción activa (indicada por
la opción "session"
), seguida de la
URI de conexión.
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. |
session | MongoDB\Driver\Session |
Una sesión a asociar con la operación. |
writeConcern | MongoDB\Driver\WriteConcern |
Un asunto de escritura a aplicar a 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."session"
se usa junto a un asunto de escritura no reconocido.
Versión | Descripción |
---|---|
PECL mongodb 1.4.4 |
Una MongoDB\Driver\Exception\InvalidArgumentException
será lanzada si la opción "session" es utilizada en
combinación con un writeConcern no reconocido.
|
Nota: Es responsabilidad del llamador asegurarse de que el servidor es capaz de ejecutar la operación de escritura. Por ejemplo, ejecutar un operación de escritura en un secundario (excluyendo su base de datos "local"), fallará.