(No version information available, might only be in Git)
Collection::remove — Löscht Dokumente einer Sammlung
Löscht die Dokumente einer Sammlung, die bestimmte Suchbedingungen erfüllen. Es sind mehrere Operationen möglich und die Bindung von Parametern wird unterstützt.
search_condition
Muss ein gültiger SQL-Ausdruck sein, der zum Abgleich der zu löschenden
Dokumente verwendet wird. Ein solcher Ausdruck kann ein einfaches true
sein, das auf alle Dokumente zutrifft, oder er kann Funktionen und
Operatoren verwenden wie
'CAST(_id AS SIGNED) >= 10'
,
'age MOD 2 = 0 OR age MOD 3 = 0'
oder
'_id IN ["2","5","7","10"]'
.
Wenn die Operation nicht ausgeführt wird, gibt die Funktion ein Remove-Objekt zurück, dem weitere Löschvorgänge hinzugefügt werden können.
Wird die Operation ausgeführt, dann enthält das zurückgegebene Objekt das Ergebnis der Operation.
Beispiel #1 mysql_xdevapi\Collection::remove()-Beispiel
<?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();
// Entfernen aller Painter
$collection
->remove("job in ('Painter')")
->execute();
// Entfernen des ältesten Butlers
$collection
->remove("job in ('Butler')")
->sort('age desc')
->limit(1)
->execute();
// Entfernen des Datensatzes mit dem höchsten Alter (age)
$collection
->remove('true')
->sort('age desc')
->limit(1)
->execute();
?>