(No version information available, might only be in Git)
Collection::modify â Modifie les documents de la collection
$search_condition): mysql_xdevapi\CollectionModifyModifie les documents d'une collection qui répondent à des conditions de recherche spécifiques. Plusieurs opérations sont autorisées, et la liaison de paramÚtres est supportée.
search_condition
Doit ĂȘtre une expression SQL valide utilisĂ©e pour faire correspondre les documents Ă modifier.
Cette expression peut ĂȘtre aussi simple que true, qui correspond Ă tous les
documents, ou elle peut utiliser des fonctions et des opérateurs tels que
'CAST(_id AS SIGNED) >= 10',
'age MOD 2 = 0 OR age MOD 3 = 0', ou
'_id IN ["2","5","7","10"]'.
Si l'opĂ©ration n'est pas exĂ©cutĂ©e, alors la fonction retournera un objet Modify qui peut ĂȘtre utilisĂ© pour ajouter des opĂ©rations de modification supplĂ©mentaires.
Si l'opération de modification est exécutée, alors l'objet retourné contiendra le résultat de l'opération.
Exemple #1 Exemple de mysql_xdevapi\Collection::modify()
<?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();
// Ajoute deux nouveaux jobs pour tous les Painters: Artist et Crafter
$collection
->modify("job in ('Butler', 'Painter')")
->arrayAppend('job', 'Artist')
->arrayAppend('job', 'Crafter')
->execute();
// EnlĂšve le champ 'beer' de tous les documents avec l'Ăąge 21
$collection
->modify('age < 21')
->unset(['beer'])
->execute();
?>