(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"
or
"writeConcern"
option. Это приведёт к выбрасыванию
исключения MongoDB\Driver\Exception\InvalidArgumentException.
Вместо этого вы должны установить эти две опции при создании транзакции с помощью
MongoDB\Driver\Session::startTransaction().
Метод возвращает курсор MongoDB\Driver\Cursor, если выполнился успешно.
"session"
указана с соответствующей транзакцией в сочетании с опцией "readConcern"
или "writeConcern"
.