MongoDB\Driver\Session::startTransaction

(mongodb >=1.5.0)

MongoDB\Driver\Session::startTransactionЗапускает транзакцию

Описание

final public MongoDB\Driver\Session::startTransaction ( array $options = ? ) : void

Запускает многодокументную транзакцию, связанную с сеансом. В любой момент времени вы можете иметь не более одной открытой транзакции для сеанса. После запуска транзакции объект сеанса должен быть передан каждой операции с помощью опции "session" (например, MongoDB\Driver\Manager::executeBulkWrite()), чтобы связать эту операцию с транзакцией.

Транзакции могут быть зафиксированы через MongoDB\Driver\Session::commitTransaction() и прерваны с помощью MongoDB\Driver\Session::abortTransaction(). Транзакции также автоматически прерываются, когда сеанс закрывается из сборки мусора или явно вызывается MongoDB\Driver\Session::endSession().

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

options

Параметры могут быть переданы в качестве аргумента этому методу. Каждый элемент в этом массиве опций переопределяет соответствующую опцию из опции "defaultTransactionOptions", если она установлена при запуске сеанса с MongoDB\Driver\Manager::startSession().

options
Опция Тип Описание
maxCommitTimeMS integer

Максимальный период времени в миллисекундах, в течение которого может выполняться одна команда commitTransaction.

Если указано, maxCommitTimeMS должно быть 32-разрядным целым числом со знаком, большим или равным нулю.

readConcern MongoDB\Driver\ReadConcern

Гаранатия чтения для применения к операции.

Эта опция доступна в MongoDB 3.2+ и приведет к исключению во время выполнения, если указана для более старой версии сервера.

readPreference MongoDB\Driver\ReadPreference

Предпочтение чтения, используемая для выбора сервера для выполнения операции.

writeConcern MongoDB\Driver\WriteConcern

Гаранатия записи для применения к операции.

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

Эта функция не возвращает значения после выполнения.

Ошибки

  • При ошибке парсинга аргумента бросает исключение MongoDB\Driver\Exception\InvalidArgumentException.
  • Выдает исключение MongoDB\Driver\Exception\CommandException, если транзакция не может быть запущена из-за проблемы на стороне сервера (например, не удалось получить блокировку).
  • Выдает исключение MongoDB\Driver\Exception\RuntimeException, если транзакция не может быть запущена (например, транзакция уже была запущена).

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

Версия Описание
PECL mongodb 1.6.0

Добавлен параметр "maxCommitTimeMS".

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