# Collection::add

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

Collection::add — Ajoute un document à la collection

### Description

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

Déclenche l'insertion du ou des documents donnés dans la collection, et plusieurs variantes de cette méthode sont prises en charge. Les options incluent :

1. Ajouter un seul document sous forme de chaîne JSON.

2. Ajouter un seul document sous forme de tableau comme : `[ 'field' => 'value', 'field2' => 'value2' ... ]`

3. Un mélange des deux, et plusieurs documents peuvent être ajoutés dans la même opération.

### Liste de paramètres

`document`

  Un ou plusieurs documents, et cela peut être soit du JSON ou un tableau de champs avec leurs valeurs associées. Cela ne peut pas être un tableau vide.

  Le serveur MySQL génère automatiquement des valeurs `_id` uniques pour chaque document (recommandé), bien que cela puisse également être ajouté manuellement. Cette valeur doit être unique, sinon l'opération d'ajout échouera.

### Valeurs de retour

Une collection d'objets, Utiliser execute() pour retourner un résultat qui peut être utilisé pour interroger le nombre d'éléments affectés, le nombre d'avertissements générés par l'opération, ou pour récupérer une liste d'identifiants générés pour les documents insérés.

### Exemples

Exemple #1 Exemple de 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");
// Ajoute deux documents
$collection->add('{"name": "Fred", "age": 21, "job": "Construction"}')->execute();
$collection->add('{"name": "Wilma", "age": 23, "job": "Teacher"}')->execute();
// Ajoute deux documents en utilisant un seul objet 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();
// Récupère une liste d'identifiants générés à partir du dernier add()
$ids = $result->getGeneratedIds();
print_r($ids);
?>`

Résultat de l'exemple ci-dessus est similaire à :

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

### Notes

> Note:

> Un identifiant unique _id est généré par MySQL Server 8.0 ou supérieur, comme démontré dans l'exemple. Le champ _id doit être défini manuellement si vous utilisez MySQL Server 5.7.