MongoDB\Driver\BulkWrite::update

(mongodb >=1.0.0)

MongoDB\Driver\BulkWrite::updateAdd an update operation to the bulk

Descrierea

public MongoDB\Driver\BulkWrite::update ( array|object $filter , array|object $newObj , array $updateOptions = ? ) : void

Adds an update operation to the MongoDB\Driver\BulkWrite.

Parametri

filter (array|object)

» predicatul interpelării. Un predicat vid se va potrivi cu toate documentele din colecție.

Notă: La evaluarea criteriilor interpelării MongoDB compară tipurile și valorile conform propriilor » reguli de comparație pentru tipuri BSON, care diferă de regulile PHP de comparare și substituirea tipurilor. La potrivirea unui tip special BSON criteriile interpelării trebuie să utilizeze clasa BSON respectivă (de ex. trebuie utilizat MongoDB\BSON\ObjectId pentru a potrivi un » ObjectId).

newObj (array|object)

A document containing either update operators (e.g. $set), a replacement document (i.e. only field: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 permite utilizatorilor să indice reguli specifice limbii pentru comparații ale șirurilor de caractere cum ar fi reguli pentru caractere minuscule, majuscule, cu accente. La specificarea collation câmpul "locale" este obligatoriu; restul câmpurilor collation sunt opționale. Pentru descrierile câmpurilor a se vedea » Collation Document.

Dacă collation nu este specificat, dar colecția are un collation implicit, atunci operațiunea folosește collation specificat pentru colecție. Dacă nu este specificat un collation pentru colecție sau pentru operație, MongoDB folosește comparația binară simplă, ca în versiunile anterioare, pentru compararea șirurilor de caractere.

Această opțiune este disponibilă în MongoDB 3.4+ și va rezulta într-o excepție în timpul execuției dacă este specificată pentru o versiune mai veche a serverului.

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 documents true. This option cannot be true if newObj is a replacement document. false
upsert bool If filter does not match an existing document, insert a single document. The document will be created from newObj if it is a replacement document (i.e. no update operators); otherwise, the operators in newObj will be applied to filter to create the new document. false

Valorile întoarse

Nu este întoarsă nici o valoare.

Erori/Excepții

Istoricul schimbărilor

Versiune Descriere
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.

Exemple

Example #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);

?>

A se vedea și

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top