MongoDB\Driver\BulkWrite::update
(mongodb >=1.0.0)
MongoDB\Driver\BulkWrite::update — Додати операцію оновлення до порції
Опис
public MongoDB\Driver\BulkWrite::update(array|object $filter, array|object $newObj, ?array $updateOptions = null): void
Добавляет операцию обновления вMongoDB\Driver\BulkWrite
Список параметрів
filter
(array|object)
» Предикат запиту. Порожній предикат збігатиметься з усіма елементами колекції.
Зауваження: При обчисленні критеріїв запиту MongoDB порівнює типи та значення відповідно до власних » правилами порівняння типів BSON, відмінних від правил порівняння і приведення типів PHP. Коли вказано спеціальний тип BSON, критерій запиту має відповідати класу BSON (тобто використовувати MongoDB\BSON\ObjectId для вибірки по » ObjectId
newObj
(array|object)
Документ, що містить оператори оновлення (наприклад, $set
), заменяющий документ (наПриклад,тільки вирази field:value
) или» конвеєр агрегації
updateOptions
updateOptions
Опция | Тип | Опис | Значение по умолчанию |
---|---|---|---|
arrayFilters | array | ||
Масив документів фільтрів, який визначає, які елементи масиву будуть змінені для операції поновлення в полі масиву. Дивіться » Вказуйте arrayFilters для операцій оновлення масиву у посібнику MongoDB для отримання додаткової інформації. |
Опція доступна з MongoDB 3.6+ і призведе до виключення під час виконання, якщо вона вказана для старої версії сервера.
| | collation | array|object |
» Зіставлення дозволяє користувачам вказувати специфічні для конкретної мови правила для порівняння рядків, такі як реакцію на регістр літер та надрядкові знаки. Якщо поставлено зіставлення, то поле "locale"
также обязательно. Опис полей смотрите в разделе» Зіставлення
Якщо зіставлення не задано явно, але в колекції визначено зіставлення за умовчанням, буде використано воно. Якщо немає ні того, то 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
Значення, що повертаються
Функція не повертає значення після виконання.
Помилки
- При помилці парсингу аргумент кидає винятокMongoDB\Driver\Exception\InvalidArgumentException
список змін
Версия | Опис |
---|---|
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()****
Loading...
Дивіться також
- MongoDB\Driver\Manager::executeBulkWrite() - Виконує одну або кілька операцій запису
- MongoDB\Driver\WriteResult