Выполняет команду базы данных, которая читает и пишет

# MongoDB\Driver\Manager::executeReadWriteCommand

(mongodb >=1.4.0)

MongoDB\Driver\Manager::executeReadWriteCommand — Выполняет команду базы данных, которая читает и пишет

### Описание

final public function MongoDB\Driver\Manager::executeReadWriteCommand(string `$db`, MongoDB\Driver\Command `$command`, ?array `$options` = `null`): MongoDB\Driver\Cursor

Метод выполняет команду на основном сервере.

Этот метод будет применять логику, специфичную для команд, которые читают и пишут (например, » aggregate). Значения по умолчанию для параметров `readConcern` и `writeConcern` метод получит из активной транзакции (обозначена параметром `session`), за которой следует URI-идентификатор соединения.

### Список параметров

`db` (string)
  Название базы данных, в которой запускается команда.
`command` (MongoDB\Driver\Command)
  Команда для выполнения.
`options`

  options
  Опция | Тип | Описание
  --- | --- | ---
  readConcern | MongoDB\Driver\ReadConcern | Гарантия чтения для применения к операции. Эта опция доступна в MongoDB 3.2+ и приведёт к исключению во время выполнения, если указана для более старой версии сервера.
  session | MongoDB\Driver\Session | Сессия для связывания с операцией.
  writeConcern | MongoDB\Driver\WriteConcern | Гарантия записи для применения к операции.

  Внимание

  С парметром `"session"` и при незавершённых транзакциях нельзя указать параметр `"readConcern"` или `"writeConcern"`. Это выбросит исключение MongoDB\Driver\Exception\InvalidArgumentException. Вместо этого две этих опции устанавливают методом MongoDB\Driver\Session::startTransaction(), когда создают транзакцию.

### Возвращаемые значения

Метод возвращает курсор MongoDB\Driver\Cursor, если выполнился успешно.

### Ошибки

- Выбрасывается исключение MongoDB\Driver\Exception\InvalidArgumentException, если опция `"session"` указана с соответствующей транзакцией в сочетании с опцией `"readConcern"` или `"writeConcern"`.
- Выбрасывается MongoDB\Driver\Exception\InvalidArgumentException, если опция `"session"` указана в сочетании с неподтверждённой гарантией записи.
- При ошибке парсинга аргумента метод выбрасывает исключение MongoDB\Driver\Exception\InvalidArgumentException.
- При неудачном соединении с сервером (кроме ошибок аутентификации) метод выбрасывает исключение MongoDB\Driver\Exception\ConnectionException.
- При неудачной аутентификации метод выбрасывает исключение MongoDB\Driver\Exception\AuthenticationException.
- Метод выбрасывает исключение MongoDB\Driver\Exception\RuntimeException для других ошибок (например, неверной команды).

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

Версия | Описание
--- | ---
PECL mongodb 1.4.4 | Метод выбросит исключение MongoDB\Driver\Exception\InvalidArgumentException, если опция `session` используется в сочетании с неподтверждённой записью.

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

- MongoDB\Driver\Command
- MongoDB\Driver\Cursor
- MongoDB\Driver\Manager::executeCommand() - Выполняет команду базы данных
- MongoDB\Driver\Manager::executeReadCommand() - Выполняет команду базы данных, которая читает
- MongoDB\Driver\Manager::executeWriteCommand() - Выполняет команду базы данных, которая пишет
- MongoDB\Driver\Server::executeReadWriteCommand() - Выполняет команду базы данных, которая читает и пишет на сервере

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open