(mongodb >=1.0.0)
MongoDB\Driver\BulkWrite::update — Добавить операцию обновления в порцию
$filter, array|object $newObj, ?array $updateOptions = null): voidДобавляет операцию обновления в MongoDB\Driver\BulkWrite.
filter (array|object)» Предикат запроса. Пустой предикат совпадёт со всеми элементами коллекции.
Замечание: СУБД MongoDB при оценке критериев запроса сравнивает типы и значения по внутренним » правилам сравнения BSON-типов, которые не совпадают с правилами сравнения и жонглирования типами в PHP. При сопоставлении специального BSON-типа в запросе требуется передать объект BSON-класса, который соответствует типу BSON-значения, поэтому для сопоставления с BSON-типом » ObjectId указывают объект класса MongoDB\BSON\ObjectId.
newObj (array|object)
      Документ, содержащий операторы обновления (например,
      $set), заменяющий документ (например,
      только выражения field:value) или » конвейер агрегации.
     
updateOptions
| Опция | Тип | Описание | Значение по умолчанию | 
|---|---|---|---|
| arrayFilters | array | Массив документов фильтров, который определяет, какие элементы массива будут изменены для операции обновления в поле массива. Смотрите » Указывайте arrayFilters для операций обновления массива в руководстве MongoDB для получения дополнительной информации. Опция доступна с MongoDB 3.6+ и приведёт к исключению во время выполнения, если она указан для более старой версии сервера. | |
| collation | array|object | 
   » Сопоставление
   позволяет пользователям указывать специфичные для конкретного языка правила
   для сравнения строк, такие как реакцию на регистр букв и надстрочные знаки.
   Если задали сопоставление, то поле  Если сопоставление не задали явно, но у коллекции определили сопоставление по умолчанию, то будет выбрано оно. Если нет ни того ни того, то MongoDB будет использовать простое бинарное сравнение строк. Эта опция доступна в MongoDB 3.4+ и, если будет использована для более старых версий, вызовет исключение во время исполнения. | |
| hint | string|array|object | Индекс спецификации. Укажите либо имя индекса в виде строки, либо шаблон ключа индекса. Если указано, то система запросов будет рассматривать планы только с использованием индекса подсказок. Опция доступна с MongoDB 4.4+ и приведёт к исключению во время выполнения, если она указан для более старой версии сервера. | |
| multi | bool | Обновить только первый найденный документ, если falseили все
           подходящие документы приtrue. Эта опция не может бытьtrue, когдаnewObj- заменяющий документ. | false | 
| upsert | bool | Если filterне соответствует существующему документу,
           будет вставлен новый документ. Документ будет
           создан изnewObj, если он заменяющий
           документ (т.е. отсутствуют операторы обновления); в противном случае операторы вnewObjбудут применяться кfilterдля создания нового документа. | false | 
Функция не возвращает значения после выполнения.
| Версия | Описание | 
|---|---|
| PECL mongodb 1.7.0 | Добавлена опция "hint". | 
| PECL mongodb 1.6.0 | Параметр newObjтеперь принимает конвейер
        агрегации. Требуется MongoDB 4.2+, для более
        старой версии сервера выбросит
        исключение во время выполнения. | 
| PECL mongodb 1.5.0 | Использование опции "arrayFilters"приведёт к исключению во время выполнения,
        если она не поддерживается сервером.
        Раньше не выбрасывалось исключение, и этот параметр, возможно, был проигнорирован. | 
| PECL mongodb 1.4.0 | Добавлена опция "arrayFilters". | 
| PECL mongodb 1.2.0 | Добавлена опция "collation". | 
Пример #1 Пример использования MongoDB\Driver\BulkWrite::update()
<?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);
?>