MongoCollection::group
MongoCollection::remove
MongoCollection
PHP Manual

# MongoCollection::insert

(PECL mongo >=0.9.0)

MongoCollection::insert — Insère un tableau dans la collection

### Description

public mixed MongoCollection::insert ( array `$a` [, array `$options` = array() ] )

Toutes les chaînes envoyées à la base de données doivent être en UTF-8. Si une chaîne n'est pas UTF-8, une exception MongoException sera émise. Pour insérer (ou chercher) une chaîne non-UTF-8, utilisez la méthode MongoBinData.

### Liste de paramètres

`a`

  Un tableau.

`options`

  Options d'insertion.

  - "safe"

    Vérifie si l'insertion a réussi.

### Valeurs de retour

Si le paramètre `safe` a été défini, retourne un tableau contenant le statut de l'insertion. Sinon, retourne un booléen indiquant si le tableau est non vide (un tableau vide ne peut être inséré).

### Erreurs / Exceptions

Lance une exception MongoCursorException si l'option "safe" est défini et que l'insertion échoue. (Version 1.0.1+)

### Historique

Version | Description
--- | ---
1.0.5 | Modification du second paramètre en un tableau d'options. Avant la version 1.0.5, le second paramètre était un booléen indiquant l'option "safe".

### Exemples

Exemple #1 Exemple avec MongoCollection::insert()

L'insertion d'un objet ajoutera un champ _id sauf s'il est passé par référence.

`<?php
$a = array('x' => 1);
$collection->insert($a);
var_dump($a)
$b = array('x' => 1);
$ref = &$b;
$collection->insert($ref);
var_dump($ref);
?>`

L'exemple ci-dessus va afficher quelque chose de similaire à :

    array(2) {
      ["x"]=>
      int(1)
      ["_id"]=>
      object(MongoId)#4 (0) {
      }
    }
    array(1) {
      ["x"]=>
      int(1)
    }

Exemple #2 Exemple avec MongoCollection::insert() en mode sécurisé

Cet exemple montre l'insertion de 2 éléments avec le même _id, ce qui entraine l'émission d'une exception MongoCursorException vu que le paramètre `safe` a été défini.

`<?php
$person = array("name" => "Joe", "age" => 20);
$collection->insert($person, true);
// Maintenant, $person a un champ _id, aussi, si vous le sauvegardez à nouveau,
// une exception sera émise
try {
$collection->insert($person, true);
}
catch(MongoCursorException $e) {
echo "Vous ne pouvez pas sauvegarder la même personne 2 fois !\n";
}
?>`

### Voir aussi

Documentation de MongoDB » concernant insert.

MongoCollection::group
MongoCollection::remove
MongoCollection
PHP Manual