这个类可以理解为是一个搜集类,从类名中也可以提现,bulk在有道中的释义“使扩大”。该类可以将insert(写)、update(更新)、delete(删除)的多条操作收集后,发送给
MongoDB\Driver\Manager::executeBulkWrite()使用。
需要注意的是:一些列的操作分为强制、非强制。如果是强制,当其中有一条操作执行失败,则中断返回错误,之后的操作将不在进行。如果是非强制,如果其中有一条操作执行失败,就会继续执行,并最终返回错误。
该类中有5个方法
public MongoDB\Driver\BulkWrite::__construct ([ array $options ] )
构造函数:
示例:$bulk = new MongoDB\Driver\BulkWrite([“order” => true]);
$bulk = new MongoDB\Driver\BulkWrite([“order” => false]);
默认order:true
public int MongoDB\Driver\BulkWrite::count ( void )
返回搜集的操作总数
public void MongoDB\Driver\BulkWrite::delete ( array|object $filter [, array $deleteOptions ] )
$filter:条件
$deleteOptions:collation和limit
collation:
limit:bool,false:表示是否删除全部,true:表示删除第1条
public mixed MongoDB\Driver\BulkWrite::insert ( array|object $document )
public void MongoDB\Driver\BulkWrite::update ( array|object $filter , array|object $newObj [, array $updateOptions ] )
$filter:更新条件
$newObj:$set
$updateOptions:[collation|multi|upsert]
collation:
multi:bool,false:表示仅更新匹配的第一条数据,true:表示全部,默认为false
upsert:bool,false:如果无匹配不插入,true:如果无匹配则插入数据,相当于sql中的replace操作,默认为false