Collection::modify

(사용 가능한 버전 정보가 없으며 Git에만 있을 수 있음)

Collection::modify — 컬렉션 문서 수정


설명

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

특정 검색 조건을 충족하는 컬렉션을 수정합니다. 다중 작업이 허용되며 매개변수 바인딩이 지원됩니다.


매개변수

search_condition
수정할 문서를 일치시키는 데 사용되는 유효한 SQL 표현식이어야 합니다. 이 표현식은 모든 문서와 일치하는 true만큼 간단하거나 'CAST(_id AS SIGNED) >= 10', 'age MOD 2 = 0 OR age MOD 3 = 0' 또는 '_id IN ["2","5","7","10"]'.

반환 값

작업이 실행되지 않으면 함수는 추가 수정 작업을 추가하는 데 사용할 수 있는 수정 개체를 반환합니다.

수정 작업이 실행되면 반환된 개체에 작업 결과가 포함됩니다.


Examples

예제 #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();

// 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();
?>