PHP 8.1.0 RC 2 available for testing

Collection::modify

(No version information available, might only be in Git)

Collection::modifyИзменяет документы коллекции

Описание

public mysql_xdevapi\Collection::modify(string $search_condition): mysql_xdevapi\CollectionModify

Изменяет коллекции, соответствующие определённым условиям поиска. Разрешены несколько операций, поддерживается привязка параметров.

Список параметров

search_condition

Параметр должен быть допустимым выражением SQL, используемым для соответствия документам, которые нужно изменить. Это выражение может быть простым значением true, что соответствует всем документам, или может использовать функции и операторы, такие как 'CAST(_id AS SIGNED) >= 10', 'age MOD 2 = 0 OR age MOD 3 = 0' или '_id IN ["2","5","7","10"]'.

Возвращаемые значения

Если операция не выполнена, функция вернёт объект Modify, который можно использовать для добавления дополнительных операций MODIFY.

Если операция MODIFY выполнена, то возвращаемый объект будет содержать результат операции.

Примеры

Пример #1 Пример использования mysql_xdevapi\Collection::modify()

<?php
$session 
mysql_xdevapi\getSession("mysqlx://user:password@localhost");

$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();

$schema     $session->getSchema("addressbook");
$collection $schema->createCollection("people");

$collection->add('{"name": "Альфред", "age": 18, "job": "Дворецкий"}')->execute();
$collection->add('{"name": "Боб",    "age": 19, "job": "Художник"}')->execute();

// Добавление двух работ для всех художников: артист и мастер
$collection
  
->modify("job in ('Дворецкий', 'Художник')")
  ->
arrayAppend('job''Артист')
  ->
arrayAppend('job''Мастер')
  ->
execute();

// Удаление поля 'beer' из всех документов с возрастом 21
$collection
  
->modify('age < 21')
  ->
unset(['beer'])
  ->
execute();
?>
add a note add a note

User Contributed Notes

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