phpday 2025 - Call For Papers

Collection::modify

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

Collection::modifyModifie les documents de la collection

Description

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

Modifie 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.

Liste de paramètres

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"]'.

Valeurs de retour

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.

Exemples

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

User Contributed Notes

There are no user contributed notes for this page.
To Top