Collection::replaceOne
(No version information available, might only be in Git)
Collection::replaceOne — Заменяет один документ коллекции
Описание
Обновляет (или заменяет) документ, по идентификатору, если он существует.
Список параметров
-
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);
?>