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

?>