MongoDB\Driver\BulkWrite::update
PHP function
Edit on GitHub ✎
(mongodb >=1.0.0)
Add an update operation to the bulk
Description
MongoDB\Driver\BulkWrite::update(array|object $filter, array|object $newObj, array|null $updateOptions = null): void
Adds an update operation to the MongoDB\Driver\BulkWrite.
Parameters
newObj(array|object)A document containing either update operators (e.g.
$set), a replacement document (i.e. onlyfield:valueexpressions), or an aggregation pipeline.updateOptionsOption Type Description Default arrayFilters arrayAn array of filter documents that determines which array elements to modify for an update operation on an array field. See Specify arrayFilters for Array Update Operations in the MongoDB manual for more information.This option is available in MongoDB 3.6+ and will result in an exception at execution time if specified for an older server version. hint string|array|objectIndex specification. Specify either the index name as a string or the index key pattern. If specified, then the query system will only consider plans using the hinted index.This option is available in MongoDB 4.2+ and will result in an exception at execution time if specified for an older server version. multi boolUpdate only the first matching document if false, or all matching documents true. This option cannot be true if newObjis a replacement document.false sort array|objectSpecify which document the operation updates if the query matches multiple documents. The first document matched by the sort order will be updated.This option cannot be used if "multi"is true.This option is available in MongoDB 8.0+ and will result in an exception at execution time if specified for an older server version.upsert boolIf filterdoes not match an existing document, insert a single document. The document will be created fromnewObjif it is a replacement document (i.e. no update operators); otherwise, the operators innewObjwill be applied tofilterto create the new document.false
Return Values
Void
Errors/Exceptions
Changelog
| Version | Description |
|---|---|
| PECL mongodb 1.21.0 | Added the "sort" option. |
| PECL mongodb 1.7.0 | Added the "hint" option. |
| PECL mongodb 1.6.0 | The newObj parameter now accepts an aggregation pipeline. This feature requires MongoDB 4.2+ and will result in an exception at execution time if specified for an older server version. |
| PECL mongodb 1.5.0 | Using the "arrayFilters" option will result in an exception at execution time if unsupported by the server. Previously, no exception would be thrown and the option may have been ignored. |
| PECL mongodb 1.4.0 | Added the "arrayFilters" option. |
| PECL mongodb 1.2.0 | Added the "collation" option. |
Examples
MongoDB\Driver\BulkWrite::update() example
php
<?php
$bulk = new MongoDB\Driver\BulkWrite;
$bulk->update(
['x' => 2],
['$set' => ['y' => 3]],
['multi' => false, 'upsert' => false]
);
$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
$result = $manager->executeBulkWrite('db.collection', $bulk);
?>See Also
MongoDB\Driver\Manager::executeBulkWriteMongoDB\Driver\WriteResult