MongoCollection
PHP Manual

MongoCollection::insert

(PECL mongo >=0.9.0)

MongoCollection::insertInsè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($persontrue);

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

?>

Voir aussi

Documentation de MongoDB » concernant insert.


MongoCollection
PHP Manual