(mongodb >=1.0.0)
MongoDB\Driver\Server::executeCommand — Выполняет команду базы данных на сервере
$db
, MongoDB\Driver\Command $command
, array|MongoDB\Driver\ReadPreference|null $options
= null
): MongoDB\Driver\CursorМетод выполняет команду на сервере.
Этот метод не применяет специальной логики к команде. The
Значения по умолчанию для параметров readPreference
,
readConcern
и writeConcern
метод получит из активной транзакции (указывает параметр
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 |
Сессия для связывания с операцией. |
writeConcern | MongoDB\Driver\WriteConcern |
Гарантия записи для применения к операции. |
При использовании "session"
и наличии незавершённых
транзакций, вы не можете указать "readConcern"
or
"writeConcern"
option. Это приведёт к выбрасыванию
исключения MongoDB\Driver\Exception\InvalidArgumentException.
Вместо этого вы должны установить эти две опции при создании транзакции с помощью
MongoDB\Driver\Session::startTransaction().
Метод возвращает курсор MongoDB\Driver\Cursor, если выполнился успешно.
"session"
указана с соответствующей транзакцией в сочетании с опцией "readConcern"
или "writeConcern"
."session"
указана в сочетании с неподтверждённой гарантией записи.
Версия | Описание |
---|---|
PECL mongodb 1.4.4 |
Если опция session используется в сочетании
с неподтверждённой гарантией записи, выбрасывается исключение
MongoDB\Driver\Exception\InvalidArgumentException.
|
PECL mongodb 1.4.0 |
Третий параметр теперь — массив options .
В целях обратной совместимости этот параметр по-прежнему будет принимать объект
MongoDB\Driver\ReadPreference.
|
Замечание: Ответственность вызывающего кода заключается в том, что сервер в состоянии выполнять операцию записи. Например, выполнение операции записи на вторичном узле (исключая «локальную» базу данных) завершится неудачей.