MongoDB\Driver\WriteConcern::__construct

(mongodb >=1.0.0)

MongoDB\Driver\WriteConcern::__construct创建一个新的 WriteConcern

描述

final public MongoDB\Driver\WriteConcern::__construct(string|int $w, ?int $wtimeout = null, ?bool $journal = null)

构造一个新的 MongoDB\Driver\WriteConcern,这是一个不可变的值对象。

参数

w

写入关注度
描述
1 请求确认写入操作已传播到独立的 mongod 或副本集中的主节点。这是 MongoDB 的默认写入关注度。
0 请求不确认写入操作。但是,这可能会将有关套接字异常和网络错误的信息返回到应用程序。
<大于 1 的整数> 大于 1 的数字仅对副本集有效,以请求从指定数量的成员(包括主节点)确认。
MongoDB\Driver\WriteConcern::MAJORITY

请求确认写入操作已传播到大多数投票节点(包括主节点),并且已写入这些节点的磁盘日志中。

在 MongoDB 3.0 之前,这指的是大多数副本集成员(不仅仅是投票节点)。

string 字符串值被解释为标签集。请求确认写入操作已传播到具有指定标签的副本集成员。

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