PHP Conference Japan 2024

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之前,这指的是大多数复制集成员(不仅仅是投票节点)。

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

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