MongoDB\Driver\Session::startTransaction

(mongodb >=1.5.0)

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

Описание

final public MongoDB\Driver\Session::startTransaction(?array $options = null): 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".

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

Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top