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