Collection::modify

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

Collection::modifyコレクションのドキュメントを変更する

説明

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

特定の検索条件にマッチするコレクションを変更します。 複数の操作が可能であり、パラメータのバインドもサポートされています。

パラメータ

search_condition

変更するドキュメントに マッチさせるために使う、有効な MySQL の式でなければなりません。 この式は、true と評価される単純なものであれば可能です。 true と評価された全てのドキュメントにマッチします。 もしくは、関数と指揮を次のように使うこともできます。 'CAST(_id AS SIGNED) >= 10', 'age MOD 2 = 0 OR age MOD 3 = 0', '_id IN ["2","5","7","10"]'.

戻り値

操作が実行されない場合、この関数は追加の変更操作を追加できる Modify オブジェクトを返します。

変更操作が実行された場合、返されるオブジェクトには操作結果が含まれます。

例1 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();

// 全ての Painter のばめに、ふたつ job を追加: Artist と Crafter です
$collection
  
->modify("job in ('Butler', 'Painter')")
  ->
arrayAppend('job''Artist')
  ->
arrayAppend('job''Crafter')
  ->
execute();

// age が 21 の全てのドキュメントから、'beer' フィールドを削除
$collection
  
->modify('age < 21')
  ->
unset(['beer'])
  ->
execute();
?>
関連キーワード:  変更, コレクション, Collection, 操作, xdevapi, ドキュメント, modify, マッチ, search, 追加