(No version information available, might only be in Git)
Collection::replaceOne — Заменяет один документ коллекции
$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);
?>