(mongodb >=1.4.0)
MongoDB\Driver\Server::executeReadCommand — Выполняет команду базы данных, которая читает на сервере
$db, MongoDB\Driver\Command $command, ?array $options = null): MongoDB\Driver\Cursor
Метод выполняет команду на сервере независимо от параметра readPreference.
Метод будет применять логику, специфичную для команд, которые читают (например,
» distinct).
Значения по умолчанию для параметров readPreference
и readConcern метод получит из активной
транзакции (указывает параметр session), за которой следует
URI-идентификатор соединения.
Замечание: Опция
"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"
или "writeConcern". Это выбросит
исключение MongoDB\Driver\Exception\InvalidArgumentException.
Вместо этого две этих опции устанавливают методом
MongoDB\Driver\Session::startTransaction(), когда создают транзакцию.
Метод возвращает курсор MongoDB\Driver\Cursor, если выполнился успешно.
"session" указана с соответствующей транзакцией в сочетании с опцией "readConcern" или "writeConcern".