(mongodb >=1.0.0)
MongoDB\Driver\Server::executeCommand — Выполнить команду базы данных на сервере
$db
, MongoDB\Driver\Command $command
, array|MongoDB\Driver\ReadPreference|null $options
= null
): MongoDB\Driver\CursorВыполняет команду на сервере.
Этот метод не применяет особую логику к команде. Хотя этот метод
принимает "readConcern"
и
"writeConcern"
, которые будут включены в
документы коанды, эти опции не будут соответствовать значениям по умолчанию
из MongoDB
URI соединения , и не будет учитываться версия сервера MongoDB.
Поэтому пользователям рекомендуется использовать конкретные методы команды чтения и/или записи
если это возможно.
Замечание: Опция
"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.
|
Замечание: Ответственность вызывающего кода заключается в том, что сервер в состоянии выполнять операцию записи. Например, выполнение операции записи на вторичном узле (исключая «локальную» базу данных) завершится неудачей.