Collection::remove

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

Collection::removeУдаляет документы коллекции

Описание

public mysql_xdevapi\Collection::remove ( string $search_condition ) : mysql_xdevapi\CollectionRemove

Удаляет коллекции, которые соответствуют определенным условиям поиска. Допускается несколько операций и поддерживается привязка параметров.

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

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