(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);
?>