(mongodb >=1.4.0)
MongoDB\Driver\Server::executeReadWriteCommand — Execute a database command that reads and writes on this server
$db
, MongoDB\Driver\Command $command
[, array $options
= array()
] ) : MongoDB\Driver\CursorExecutes the command on this server.
This method will apply logic that is specific to commands that read and write (e.g. » findAndModify) and take the MongoDB server version into account. The "readConcern" and "writeConcern" options will default to the corresponding values from the MongoDB Connection URI.
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.
Versión | Descripción |
---|---|
1.4.4 | MongoDB\Driver\Exception\InvalidArgumentException will be thrown if the "session" option is used in combination with an unacknowledged write concern. |
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á.