PHPCon Poland 2024

MongoDB\Driver\Server::executeCommand

(mongodb >=1.0.0)

MongoDB\Driver\Server::executeCommandВыполняет команду базы данных на сервере

Описание

final public MongoDB\Driver\Server::executeCommand(string $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

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.

Ошибки

Список изменений

Версия Описание
PECL mongodb 1.4.4 Если опция session используется в сочетании с неподтверждённой гарантией записи, выбрасывается исключение MongoDB\Driver\Exception\InvalidArgumentException.
PECL mongodb 1.4.0 Третий параметр теперь — массив options. В целях обратной совместимости этот параметр по-прежнему будет принимать объект MongoDB\Driver\ReadPreference.

Примечания

Замечание: Ответственность вызывающего кода заключается в том, что сервер в состоянии выполнять операцию записи. Например, выполнение операции записи на вторичном узле (исключая «локальную» базу данных) завершится неудачей.

Смотрите также

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top