PHP Conference Japan 2024

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

返回值

如果未执行操作,则函数将返回一个 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();

// 为所有画家添加两个新工作:艺术家和手工艺人
$collection
->modify("job in ('Butler', 'Painter')")
->
arrayAppend('job', 'Artist')
->
arrayAppend('job', 'Crafter')
->
execute();

// 从所有年龄小于 21 的文档中删除 'beer' 字段
$collection
->modify('age < 21')
->
unset(['beer'])
->
execute();
?>
添加笔记

用户贡献笔记

此页面没有用户贡献的笔记。
To Top