(mongodb >=1.5.0)
MongoDB\Driver\Session::startTransaction — Запускает транзакцию
$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().
Опция | Тип | Описание |
---|---|---|
maxCommitTimeMS | integer |
Максимальный период времени в миллисекундах, в течение которого может выполняться одна команда commitTransaction. Если указано, maxCommitTimeMS должно быть 32-разрядным целым числом со знаком, большим или равным нулю. |
readConcern | MongoDB\Driver\ReadConcern |
Гаранатия чтения для применения к операции. Эта опция доступна в MongoDB 3.2+ и приведет к исключению во время выполнения, если указана для более старой версии сервера. |
readPreference | MongoDB\Driver\ReadPreference |
Предпочтение чтения, используемая для выбора сервера для выполнения операции. |
writeConcern | MongoDB\Driver\WriteConcern |
Гаранатия записи для применения к операции. |
Эта функция не возвращает значения после выполнения.
Версия | Описание |
---|---|
1.6.0 |
Добавлен параметр "maxCommitTimeMS". |