Collection::replaceOne

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

Collection::replaceOneЗаменяет один документ коллекции

Описание

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

Обновляет (или заменяет) документ, по идентификатору, если он существует.

Список параметров

id

Идентификатор документа для замены или обновления. Обычно это _id, который был сгенерирован MySQL Server при добавлении записи.

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 известен другими способами, 
// но для этого примера давайте извлечем сгенерированный идентификатор и используем его
$ids       $result->getGeneratedIds();
$alfred_id $ids[0];

// ...

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

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

?>