(mongodb >=2.1.0)
MongoDB\Driver\BulkWriteCommand::updateMany — Добавляет операцию updateMany
$namespace
,$filter
,$update
,$options
= null
Метод добавляет операцию updateMany
в объект MongoDB\Driver\BulkWriteCommand. Операция обновит в коллекции,
которую определяет пространство имён namespace
,
каждый документ, который соответствует фильтру filter
.
namespace
(string)
Полностью определённое имя (т.е. "databaseName.collectionName"
).
filter
(array|object)» Предикат запроса. Пустой предикат совпадёт со всеми элементами коллекции.
Замечание: СУБД MongoDB при оценке критериев запроса сравнивает типы и значения по внутренним » правилам сравнения BSON-типов, которые не совпадают с правилами сравнения и жонглирования типами в PHP. При сопоставлении специального BSON-типа в запросе требуется передать объект BSON-класса, который соответствует типу BSON-значения, поэтому для сопоставления с BSON-типом » ObjectId указывают объект класса MongoDB\BSON\ObjectId.
update
(array|object)
Документ, который содержит либо операторы обновления наподобие
$set
,
либо » конвейер агрегации.
options
Опция | Тип | Описание | Стандартное значение |
---|---|---|---|
arrayFilters | array |
Массив документов, каждый из которых содержит условия фильтрации. Документы определяют, какие элементы массива требуется изменить при обновлении поля массива. Подробнее об этом рассказывает страница руководства MongoDB » Определение фильтра arrayFilters для операций обновления массива. |
|
collation | array|object |
» Сопоставление
позволяет пользователям указывать специфичные для конкретного языка правила
для сравнения строк, такие как реакцию на регистр букв и надстрочные знаки.
Если задали сопоставление, то поле Если сопоставление не задали явно, но у коллекции определили сопоставление по умолчанию, то будет выбрано оно. Если нет ни того ни того, то MongoDB будет использовать простое бинарное сравнение строк. Эта опция доступна в MongoDB 3.4+ и, если будет использована для более старых версий, вызовет исключение во время исполнения. |
|
hint | string|array|object |
Спецификация индекса. Опция указывает либо название индекса в виде строки, либо шаблон ключа индекса. При установке значения система запросов ограничит поиск только теми планами, которые выполняют сканирование через заданный индекс. |
|
upsert | bool |
Операция вставляет один документ,
если фильтр filter не соответствует существующему документу.
Документ создаётся
путём применения операторов из параметра update
к значениям полей в фильтре filter .
|
false |
Функция не возвращает значения после выполнения.
Пример #1 Пример добавления операции обновления методом MongoDB\Driver\BulkWriteCommand::updateMany()
<?php
$manager = new MongoDB\Driver\Manager();
$bulk = new MongoDB\Driver\BulkWriteCommand();
$bulk->updateMany('db.coll', ['x' => ['$gt' => 1]], ['$set' => ['y' => 2]]);
$result = $manager->executeBulkWriteCommand($bulk);
?>