Collection::modify
Modify collection documents
Description
public mysql_xdevapi\CollectionModify mysql_xdevapi\Collection::modify(string $search_condition)
Parameters
-
search_condition
-
Must be a valid SQL expression used to match the documents to modify.
This expression might be as simple as true, which matches all
documents, or it might use functions and operators such as
'CAST(_id AS SIGNED) >= 10',
'age MOD 2 = 0 OR age MOD 3 = 0', or
'_id IN ["2","5","7","10"]'.
Return Values
If the operation is not executed, then the function will return
a Modify object that can be used to add additional
modify operations.
If the modify operation is executed, then the returned object will contain
the result of the operation.
Examples
Example #1 mysql_xdevapi\Collection::modify example
<?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();
// Add two new jobs for all Painters: Artist and Crafter
$collection
->modify("job in ('Butler', 'Painter')")
->arrayAppend('job', 'Artist')
->arrayAppend('job', 'Crafter')
->execute();
// Remove the 'beer' field from all documents with the age 21
$collection
->modify('age < 21')
->unset(['beer'])
->execute();
?>