Documentation Home
Download this Manual
PDF (US Ltr) - 2.4Mb
PDF (A4) - 2.4Mb

MySQL PHP API  /  ...  /  Collection::modify

5.8.13 Collection::modify

Copyright 1997-2022 the PHP Documentation Group.

  • Collection::modify

    Modify collection documents


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

Modify collections that meet specific search conditions. Multiple operations are allowed, and parameter binding is supported.



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.


Example 5.23 mysql_xdevapi\Collection::modify example

$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
  ->modify("job in ('Butler', 'Painter')")
  ->arrayAppend('job', 'Artist')
  ->arrayAppend('job', 'Crafter')

// Remove the 'beer' field from all documents with the age 21
  ->modify('age < 21')