(mongodb >=1.4.0)
MongoDB\Driver\Server::executeReadCommand — Выполняет команду базы данных, которая читает на сервере
$db
, MongoDB\Driver\Command $command
[, array $options
= array()
] ) : MongoDB\Driver\CursorВыполняет команду на этом сервере.
Этот метод будет применять логику, специфичную для команд, которые читают (например, » count) и учитывают версию сервера MongoDB. Опция "readConcern" будет по умолчанию соответствовать соответствующему значению из URI подключения MongoDB.
Замечание: Опция "readPreference" не контролирует сервер, к которому драйвер выполняет операцию; она всегда будет выполняться на этом объекте сервера. Вместо этого, он может быть использован при выполнении операции на втором узле (из набора реплик, не автономный) или на узле mongos для обеспечения того, что драйвер устанавливает проводной протокол соответствующим образом или добавляет предпочтение чтения к операции, соответственно.
db
(string)Имя базы данных, в которой запускается комманда.
command
(MongoDB\Driver\Command)Команда для выполнения.
options
Опция | Тип | Описание |
---|---|---|
readConcern | MongoDB\Driver\ReadConcern |
Гаранатия чтения для применения к операции. Эта опция доступна в MongoDB 3.2+ и приведет к исключению во время выполнения, если указана для более старой версии сервера. |
readPreference | MongoDB\Driver\ReadPreference |
Предпочтение чтения, используемая для выбора сервера для выполнения операции. |
session | MongoDB\Driver\Session |
Сессия для связывания с операцией. |
При использовании "session" и наличии незавершенных транзакций, вы не можете указать "readConcern" or "writeConcern" option. Это приведет к выбрасыванию исключения MongoDB\Driver\Exception\InvalidArgumentException. Вместо этого вы должны установить эти две опции при создании транзакции с помощью MongoDB\Driver\Session::startTransaction().
В случае успеха возвращает MongoDB\Driver\Cursor.