CollectionModify::replace

ドキュメントのフィールドを置き換える

説明

public mysql_xdevapi\CollectionModify mysql_xdevapi\CollectionModify::replace(string $collection_field, string $expression_or_literal)

与えられたフィールドの値を、新しいもので置き換え(更新し)ます。

パラメータ

collection_field

設定するアイテムのドキュメントパス

expression_or_literal

指定された属性に設定する値

戻り値

CollectionModify オブジェクトを返します。

例1 mysql_xdevapi\CollectionModify::replace の例

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

$result = $collection
  ->add(
  '{"name":   "Bernie",
    "traits": ["Friend", "Brother", "Human"]}') 
  ->execute();

$collection
  ->modify("name = :name")
  ->bind(['name' => 'Bernie'])
  ->replace("name", "Bern")
  ->execute();

$result = $collection
  ->find()
  ->execute();

print_r($result->fetchAll());
?>

上の例の出力は、 たとえば以下のようになります。

Array
(
    [0] => Array
        (
            [_id] => 00005b6b5361000000000000011b
            [name] => Bern
            [traits] => Array
                (
                    [0] => Friend
                    [1] => Brother
                    [2] => Human
                )
        )
)