MongoDB\Driver\BulkWrite::update
(mongodb >=1.0.0)
MongoDB\Driver\BulkWrite::update — Add an update operation to the bulk
Beschreibung
$filter
, array|object $newObj
, array $updateOptions
= ?): voidAdds an update operation to the MongoDB\Driver\BulkWrite.
Parameter-Liste
-
filter
(array|object) -
Das » Abfrage-Prädikat. Ein leeres Prädikat passt auf alle Dokumente in der Sammlung.
Hinweis: Bei der Auswertung von Abfragekriterien vergleicht MongoDB Typen und Werte gemäß seiner eigenen » Vergleichsregeln für BSON-Typen, die sich von PHP's Regeln für Typenvergleich und Typen-Jonglage unterscheidet. Wenn es eine Übereinstimmung mit einem speziellen BSON-Typ gibt, sollten die Abfragekriterien die entsprechende BSON-Klasse verwenden (z. B. MongoDB\BSON\ObjectId, um auf eine » ObjectId zu passen).
-
newObj
(array|object) -
A document containing either update operators (e.g.
$set
), a replacement document (i.e. onlyfield:value
expressions), or an » aggregation pipeline. -
updateOptions
-
updateOptions Option Type Description Default arrayFilters array An 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.
collation array|object » Collation allows users to specify language-specific rules for string comparison, such as rules for lettercase and accent marks. When specifying collation, the
"locale"
field is mandatory; all other collation fields are optional. For descriptions of the fields, see » Collation Document.If the collation is unspecified but the collection has a default collation, the operation uses the collation specified for the collection. If no collation is specified for the collection or for the operation, MongoDB uses the simple binary comparison used in prior versions for string comparisons.
This option is available in MongoDB 3.4+ and will result in an exception at execution time if specified for an older server version.
hint string|array|object Index 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 bool Update only the first matching document if false
, or all matching documentstrue
. This option cannot betrue
ifnewObj
is a replacement document.false
upsert bool If filter
does not match an existing document, insert a single document. The document will be created fromnewObj
if it is a replacement document (i.e. no update operators); otherwise, the operators innewObj
will be applied tofilter
to create the new document.false
Rückgabewerte
Es wird kein Wert zurückgegeben.
Fehler/Exceptions
- Throws MongoDB\Driver\Exception\InvalidArgumentException on argument parsing errors.
Changelog
Version | Beschreibung |
---|---|
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.
|
Beispiele
Beispiel #1 MongoDB\Driver\BulkWrite::update() example
<?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);
?>
Siehe auch
- MongoDB\Driver\Manager::executeBulkWrite() - Execute one or more write operations
- MongoDB\Driver\WriteResult