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