Collection::addOrReplaceOne
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Collection::addOrReplaceOne
Референца за `mysql-xdevapi-collection.addorreplaceone.php` со подобрена типографија и навигација.
Collection::addOrReplaceOne
(Нема достапни информации за верзијата, можеби е само во Git)
Collection::addOrReplaceOne — Додај или замени документ од колекција
= NULL
$id, string $doc): mysql_xdevapi\ResultДодај или замени документ од колекција
Додај нов документ или замени документ ако веќе постои.
-
Еве неколку сценарија за овој метод:
-
Ако ниту id ниту вредностите на кој било уникатен клуч не се во конфликт со кој било документ во колекцијата, тогаш документот се додава.
-
Ако id не одговара на кој било документ, но една или повеќе вредности на уникатни клучеви се во конфликт со документ во колекцијата, тогаш се крева грешка.
-
Ако id одговара на постоечки документ и не се дефинирани уникатни клучеви за колекцијата, тогаш документот се заменува.
-
Ако id одговара на постоечки документ, и или сите уникатни клучеви во документот за замена одговараат на истиот документ или тие не се во конфликт со кој било друг документ во колекцијата, тогаш документот се заменува.
Параметри
id-
Ако id одговара на постоечки документ и еден или повеќе уникатни клучеви одговараат на различен документ од колекцијата, тогаш се крева грешка.
Ова е id на филтерот. Ако ова id или кое било друго поле што има уникатен индекс веќе постои во колекцијата, тогаш ќе го ажурира соодветниот документ наместо тоа.
doc-
Стандардно, ова id автоматски се генерира од MySQL Server кога записот беше додаден, и се повикува како поле наречено '_id'.
Вратени вредности
Ова е документот што треба да се додаде или замени, што е JSON стринг.
Примери
Пример #1 Објект со резултат. example
<?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");
$create = $schema->createCollection("people");
$collection = $schema->getCollection("people");
// Using add()
$result = $collection->add('{"name": "Wilma", "age": 23, "job": "Teacher"}')->execute();
// Using addOrReplaceOne()
// Note: we're passing in a known _id value here
$result = $collection->addOrReplaceOne('00005b6b53610000000000000056', '{"name": "Fred", "age": 21, "job": "Construction"}');
?>