略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: Collection::modify

2024-12-22

Collection::modify

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

Collection::modifyModify collection documents

说明

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

Modify collections that meet specific search conditions. Multiple operations are allowed, and parameter binding is supported.

参数

search_condition

Must be a valid SQL expression used to match the documents to modify. This expression might be as simple as true, which matches all documents, or it might use functions and operators such as 'CAST(_id AS SIGNED) >= 10', 'age MOD 2 = 0 OR age MOD 3 = 0', or '_id IN ["2","5","7","10"]'.

返回值

If the operation is not executed, then the function will return a Modify object that can be used to add additional modify operations.

If the modify operation is executed, then the returned object will contain the result of the operation.

范例

示例 #1 mysql_xdevapi\Collection::modify() example

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

User Contributed Notes

There are no user contributed notes for this page.

官方地址:https://www.php.net/manual/en/mysql-xdevapi-collection.modify.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3