(No version information available, might only be in Git)
Collection::remove — Удаляет документы коллекции
Удаляет документы коллекции, которые удовлетворяют условиям поиска. Разрешено выполнение несколько операций и поддерживается привязка параметров.
search_condition
Должно быть корректным выражением SQL, которое будет использовано
для сопоставления документов, которые нужно удалить.
Выражение может быть таким же простым, как логическое значение true
, которое соответствует всем
документам, или оно может использовать функции и операторы наподобие
'CAST(_id AS SIGNED) >= 10'
,
'age MOD 2 = 0 OR age MOD 3 = 0'
или '_id IN ["2","5","7","10"]'
.
Если операция не выполнена, функция вернёт объект Remove, который можно использовать для добавления дополнительных операций удаления.
Если операция удаления выполнена, то возвращённый объект будет содержать результат операции.
Пример #1 Пример использования метода mysql_xdevapi\Collection::remove()
<?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": "Alfred", "age": 18, "job": "Butler"}')->execute();
$collection->add('{"name": "Bob", "age": 19, "job": "Painter"}')->execute();
// Удаление всех художников
$collection
->remove("job in ('Painter')")
->execute();
// Удаление самого старого дворецкого
$collection
->remove("job in ('Butler')")
->sort('age desc')
->limit(1)
->execute();
// Удаление записи с наибольшим возрастом
$collection
->remove('true')
->sort('age desc')
->limit(1)
->execute()
;
?>