(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"
.