PHP Conference Japan 2024

MongoDB\Driver\WriteConcern::__construct

(mongodb >=1.0.0)

MongoDB\Driver\WriteConcern::__construct建立新的 WriteConcern

說明

final public MongoDB\Driver\WriteConcern::__construct(字串|整數 $w, ?整數 $wtimeout = null, ?布林值 $journal = null)

建構一個新的 MongoDB\Driver\WriteConcern,這是一個不可變的值物件。

參數

w

寫入策略
說明
1 要求確認寫入操作已傳播到獨立的 mongod 或副本集中的主節點。這是 MongoDB 的預設寫入策略。
0 不要求確認寫入操作。然而,這可能會將有關通訊端例外和網路錯誤的資訊返回給應用程式。
<大於 1 的整數> 大於 1 的數字僅對副本集有效,用於要求來自指定數量成員(包括主節點)的確認。
MongoDB\Driver\WriteConcern::MAJORITY

要求確認寫入操作已傳播到大多數投票節點(包括主節點),並且已寫入這些節點的磁碟日誌。

在 MongoDB 3.0 之前,這指的是大多數副本集成員(不僅僅是投票節點)。

字串 字串值會被解譯為標籤集。要求確認寫入操作已傳播到具有指定標籤的副本集成員。

wtimeout

在失敗之前等待次要節點的時間(以毫秒為單位)。

wtimeout 會導致寫入操作在超過指定限制後返回錯誤 (WriteConcernError),即使所需的寫入策略最終會成功。當這些寫入操作返回時,MongoDB 不會撤銷在寫入策略超過 wtimeout 時間限制之前執行的成功資料修改。

如果指定,wtimeout 必須是大於或等於零的帶符號 64 位元整數。

寫入策略逾時
說明
0 無限期阻塞。這是預設值。
<大於 0 的整數> 要等待直到返回的毫秒數。

journal

等待直到 mongod 已將寫入套用到日誌。

錯誤/例外

更新日誌

版本 說明
PECL mongodb 1.7.0 wTimeout 參數現在接受 64 位元值。

範例

範例 #1 MongoDB\Driver\WriteConcern::__construct() 範例

<?php

/* 要求複本集大多數節點的寫入確認 */
$wc = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 500);

/* 要求設定了 "MultipleDC" 標籤的節點的寫入確認 */
$wc = new MongoDB\Driver\WriteConcern("MultipleDC", 500);

?>

另請參閱

新增註記

使用者貢獻的註記

此頁面沒有使用者貢獻的註記。
To Top