Collection::replaceOne

コレクションのドキュメントをひとつ置き換える

説明

public mysql_xdevapi\Result mysql_xdevapi\Collection::replaceOne(string $id, string $doc)

ID で特定されたドキュメントが存在すれば、それを更新(置き換え)します。

パラメータ

id

置き換え、または更新するドキュメントのID。 通常、これは レコードを追加した時に MySQL サーバーが生成した _id です。

doc

id パラメータにマッチするドキュメントを更新したり 置換したりするためのコレクションのドキュメント

このドキュメントは、ドキュメントオブジェクトか、 新しいドキュメントを表現する 有効な JSON 文字列のどちらかです。

戻り値

影響を受けた行を調べたり、 操作によって生成された警告の数を得ることができる Result オブジェクトを返します。

例1 mysql_xdevapi\Collection::replaceOne の例

<?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": "Alfred", "age": 18, "job": "Butler"}')->execute();

// 通常、_id は他の手段によって知ることができますが、
// この例のために、生成された id を取得し、それを使います。 
$ids       = $result->getGeneratedIds();
$alfred_id = $ids[0];

// ...

$alfred = $collection->getOne($alfred_id);
$alfred['age'] = 81;
$alfred['job'] = 'Guru';

$collection->replaceOne($alfred_id, $alfred);

?>