2024 年 PHP Conference Japan

MongoDB\Driver\Session::startTransaction

(mongodb >=1.5.0)

MongoDB\Driver\Session::startTransaction開始一個事務

說明

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

啟動與此 session 關聯的多文件交易。在任何時間點,一個 session 最多只能有一個開啟的交易。啟動交易後,必須透過 "session" 選項(例如 MongoDB\Driver\Manager::executeBulkWrite())將 session 物件傳遞給每個操作,以便將該操作與交易關聯。

交易可以透過 MongoDB\Driver\Session::commitTransaction() 提交,並使用 MongoDB\Driver\Session::abortTransaction() 中止。當 session 因垃圾回收或明確呼叫 MongoDB\Driver\Session::endSession() 而關閉時,交易也會自動中止。

參數

options

可以將選項作為參數傳遞給此方法。如果在使用 MongoDB\Driver\Manager::startSession() 啟動 session 時設定了 "defaultTransactionOptions" 選項,則此選項陣列中的每個元素都會覆蓋相應的選項。

options
選項 類型 說明
maxCommitTimeMS 整數

允許單個 commitTransaction 命令執行的最大時間(以毫秒為單位)。

如果指定,maxCommitTimeMS 必須是大於或等於零的有號 32 位元整數。

readConcern MongoDB\Driver\ReadConcern

套用於操作的讀取關注。

此選項在 MongoDB 3.2+ 中可用,如果為較舊的伺服器版本指定,則會在執行時產生例外。

readPreference MongoDB\Driver\ReadPreference

用於選擇操作伺服器的讀取偏好。

writeConcern MongoDB\Driver\WriteConcern

套用於操作的寫入關注。

回傳值

不回傳任何值。

錯誤/例外

更新日誌

版本 說明
PECL mongodb 1.6.0

新增了 "maxCommitTimeMS" 選項。

另請參閱

新增註記

使用者貢獻的註記

此頁面尚無使用者提供的註釋。
To Top