PHP 8.4.1 Released!

MongoDB\Driver\BulkWrite::update

(mongodb >=1.0.0)

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

Опис

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

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

Параметри

filter (array|object)

» Предикат запиту. Порожній предикат відповідає всім документам у колекції.

Зауваження: Під час виконання критеріїв запиту MongoDB порівнює типи та значення за власними » правилами порівняння BSON-типів, що відрізняється від правил порівняння і перетворення типів в PHP. Для вибірки даних спеціальних BSON-типів, критерії запиту повинні використовувати відповідний клас BSON (напр. MongoDB\BSON\ObjectId для вибірки » 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

» Зіставлення дозволяє вказувати специфічні для мови правила порівняння рядків, як от правила регістру та знаків наголосу. Під час визначення зіставлень поле "locale" є обов'язковим, а всі інші поля — ні. Опис полів є на сторінці » Документ зіставлення.

Якщо зіставлення не вказано, то використовується стандартне зіставлення для колекції, якщо воно вказано. Якщо ж ні, MongoDB використовує просте двійкове порівняння, яке використовувалося в попередніх версіях для порівняння рядків.

Цей параметр доступний у MongoDB 3.4+, тож його застосування у старіших версіях викине виключення під час виконання.

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

Значення, що повертаються

Не повертає значень.

Помилки/виключення

Журнал змін

Версія Опис
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.

Приклади

Приклад #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);

?>

Прогляньте також

add a note

User Contributed Notes

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