Добавляет документ в коллекцию

# Collection::add

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

Collection::add — Добавляет документ в коллекцию

### Описание

public function mysql_xdevapi\Collection::add(mixed `$document`): mysql_xdevapi\CollectionAdd

Запускает добавление данного документа (документов) в коллекцию, поддерживаются несколько вариантов метода. Возможные варианты:

1. Добавление одного документа в виде строки JSON.

2. Добавление одного документа в виде массива, например: `[ 'field' => 'value', 'field2' => 'value2' ... ]`

3. В одну и ту же операцию можно добавить, как документ, так и несколько документов.

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

`document`

  Один или несколько документов, это может быть либо JSON, либо массив полей с соответствующими значениями. Массив не может быть пустым.

  Сервер MySQL автоматически генерирует уникальные значения `_id` для каждого документа (рекомендуется), хотя оно также может быть добавлено вручную. Это значение должно быть уникальным, иначе операция добавления не будет выполнена.

### Возвращаемые значения

Объект CollectionAdd. Используйте execute() для возврата Result, который можно использовать для запроса количества затронутых элементов, количества предупреждений, сгенерированных операцией, или для получения списка сгенерированных идентификаторов для добавленных документов.

### Примеры

Пример #1 Пример использования mysql_xdevapi\Collection::add()

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

    // Добавление двух документов
    $collection->add('{"name": "Fred",  "age": 21, "job": "Construction"}')->execute();
    $collection->add('{"name": "Wilma", "age": 23, "job": "Teacher"}')->execute();

    // Добавление двух документов используя один объект JSON
    $result = $collection->add(
      '{"name": "Bernie",
        "jobs": [{"title":"Cat Herder","Salary":42000}, {"title":"Father","Salary":0}],
        "hobbies": ["Sports","Making cupcakes"]}',
      '{"name": "Jane",
        "jobs": [{"title":"Scientist","Salary":18000}, {"title":"Mother","Salary":0}],
        "hobbies": ["Walking","Making pies"]}')->execute();

    // Получение списка сгенерированных идентификаторов последней операции add()
    $ids = $result->getGeneratedIds();
    print_r($ids);
    ?>

Вывод приведённого примера будет похож на:

    Array
    (
        [0] => 00005b6b53610000000000000056
        [1] => 00005b6b53610000000000000057
    )

### Примечания

> Замечание:

> MySQL Server 8.0 или выше генерирует уникальный _id, как показано в примере. Поле _id должно быть определено вручную, если используется MySQL Server 5.7.

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open