Rechercher une fonction PHP

MongoWriteBatch::add

(PECL mongo >= 1.5.0)

MongoWriteBatch::addAjoute une opération d'écriture dans un lot

Description

public MongoWriteBatch::add ( array $item ) : bool

Ajoute une opération d'écriture dans un lot.

Si le paramètre $item fait que le lot excède les limites maxWriteBatchSize ou maxBsonObjectSize, le driver va, en interne, couper les lots en plusieurs commandes d'écriture avant d'appeler la méthode MongoWriteBatch::execute().

Retour à la première page de Manuel PHP  Table des matières Haut

Liste de paramètres

item

Un tableau qui décrit une opération d'écriture. La structure de cette valeur dépoend du type de l'opération du lot.

Type du lot Signification
MongoWriteBatch::COMMAND_INSERT Le document à ajouter.
MongoWriteBatch::COMMAND_UPDATE

Opération brute de mise à jour.

Les clés requises sont "q" et "u", qui correspondent aux paramètres $criteria et $new_object de MongoCollection::update(), respectivement.

Les clés optionnelles sont "multi" et "upsert", qui correspondent aux options "multiple" et "upsert" pour MongoCollection::update(), respectivement. Si on spécifiés, les deux options vaudront par défaut FALSE.

MongoWriteBatch::COMMAND_DELETE

Opération brute de suppression.

Les clés requises sont : "q" et "limit", qui correspondent au paramètre $criteria et à l'option "justOne" de MongoCollection::remove(), respectivement.

L'option "limit" est de type integer ; cependant, MongoDB ne supporte que la valeur 0 (i.e. supprime tous les documents correspondants) et la valeur 1 (i.e. supprime au moins un document correspondant) pour le moment.

Retour à la première page de Manuel PHP  Table des matières Haut

Valeurs de retour

Retourne TRUE en cas de succès, et lance une exception si une erreur survient.

Retour à la première page de Manuel PHP  Table des matières Haut

Erreurs / Exceptions

  • Une exception Exception sur un échec d'analyse du paramètre
  • Une exception Exception sur une erreur de validation de l'argument (i.e. clés manquantes)

Retour à la première page de Manuel PHP  Table des matières Haut

Exemples

Exemple #1 Exemple avec MongoWriteBatch::add()

Mise en lot de plusieurs opérations d'insertion

<?php
$mc 
= new MongoClient("localhost");
$collection $mc->selectCollection("test""test");


$docs = array();
$docs[] = array("my" => "demo");
$docs[] = array("is" => "working");
$docs[] = array("pretty" => "well");

$batch = new MongoInsertBatch($collection);
foreach(
$docs as $document) {
    
$batch->add($document);
}
$batch->execute(array("w" => 1));
?>

Exemple #2 Exemple avec MongoWriteBatch::add()

Mise en lot de plusieurs opérations de mise à jour

<?php
$mc 
= new MongoClient("localhost");
$collection $mc->selectCollection("test""test");


$item1 = array(
    
"q" => array("my" => "demo"),
    
"u" => array('$set' => array("try" => 1)),
    
"multi"  => false/* Valeur par défaut */
    
"upsert" => false/* Valeur par défaut */
);
$item2 = array(
    
"q" => array("is" => "working"),
    
"u" => array('$set' => array("try" => 2)),
    
"multi" => true,
);
$item3 = array(
    
"q" => array("created" => "new-document"),
    
"u" => array('$set' => array("try" => 3)),
    
"upsert" => true,
);

$batch = new MongoUpdateBatch($collection);
$batch->add($item1);
$batch->add($item2);
$batch->add($item3);
$batch->execute(array("w" => 1));

?>

Exemple #3 Exemple avec MongoWriteBatch::add()

Mise en lot de plusieurs opérations de suppression

<?php
$mc 
= new MongoClient("localhost");
$collection $mc->selectCollection("test""test");


$item1 = array(
    
"q" => array("my" => "demo"),
    
"limit" => 1,
);
$item2 = array(
    
"q" => array("try" => 3),
    
"limit" => 1,
);


$batch = new MongoDeleteBatch($collection);
$batch->add($item1);
$batch->add($item2);
$batch->execute(array("w" => 1));
?>
Rechercher une fonction PHP

Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-mongowritebatch.add.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.

Références

  1. Consulter le document html Langue du document :fr Manuel PHP : http://php.net

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

Table des matières Haut