(PECL mongo >=0.9.0)
MongoCollection::insert — Insère un tableau dans la collection
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.
Un tableau.
Options d'insertion.
"safe"
Vérifie si l'insertion a réussi.
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é).
Lance une exception MongoCursorException si l'option "safe" est défini et que l'insertion échoue. (Version 1.0.1+)
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". |
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";
}
?>
Documentation de MongoDB » concernant insert.