MongoDB\Driver\BulkWrite: : update
(mongodb >=1.0.0)
MongoDB\Driver\BulkWrite::update — Add an update operation to the bulk
Description
$filter
, array|object $newObj
[, array $updateOptions
] ) : voidAdds an update operation to the MongoDB\Driver\BulkWrite.
Liste de paramètres
-
filter
(array|object) -
L'» attribut de la requête. Un attribut vide va faire correspondre tous les documents de la collection.
Note: Lors de l'évaluation des critères de requête, MongoDB compare les type et les valeurs en fonction de leur propre » règles de comparaison pour les types BSON, qui diffère des règles de comparaison et de manipulation des type de PHP. Lors de la correspondance d'un type BSON spcécial, les critères de requête doivent utiliser la classe BSON (ex. : utiliser MongoDB\BSON\ObjectId pour correspondre à un » ObjectId).
-
newObj
(array|object) -
A document containing either update operators (e.g. $set) or a replacement document (i.e. only field:value expressions).
-
updateOptions
-
updateOptions Option Type Description Default arrayFilters array|object An array of filter documents that determines which array elements to modify for an update operation on an array field. See » Specify arrayFilters for Array Update Operations in the MongoDB manual for more information.
This option is available in MongoDB 3.6+ and will result in an exception at execution time if specified for an older server version.
collation array|object » Collation permet aux utilisateurs de spécifier des règles spécifiques au langage pour la comparaison des chaînes, par exemple, des règles pour les majuscules ou les accents. Lors de la spécification d'une collation, le champ "locale" est obligatoire ; tous les autres champs de la collation sont optionnels. Pour la description de ces champs, reportez-vous au » document Collation.
Si la collation n'est pas spécifiée mais que la collection a une collation par défaut, l'opération utilisera la collation spécifiée pour la collection. Si aucune collation n'est spécifiée pour la collection ou pour l'opération, MongoDB utilisera le binaire simple de comparaison utilisé dans les versions précédentes pour les comparaisons des chaînes.
Cette option est disponible en MongoDB 3.4+ et une exception sera émise au moment de l'exécution si elle est spécifiée dans une version antérieure.
multi boolean Update only the first matching document if FALSE
, or all matching documentsTRUE
. This option cannot beTRUE
ifnewObj
is a replacement document.FALSE
upsert boolean If filter
does not match an existing document, insert a single document. The document will be created fromnewObj
if it is a replacement document (i.e. no update operators); otherwise, the operators innewObj
will be applied tofilter
to create the new document.FALSE
Erreurs / Exceptions
- Lance une exception MongoDB\Driver\InvalidArgumentException lors d'une erreur survenue pendant l'analyse d'un argument.
Historique
Version | Description |
---|---|
1.5.0 | Using the "arrayFilters" option will result in an exception at execution time if unsupported by the server. Previously, no exception would be thrown and the option may have been ignored. |
1.4.0 | Added the "arrayFilters" option. |
1.2.0 | Added the "collation" option. |
Exemples
Exemple #1 MongoDB\Driver\BulkWrite::update() example
<?php
$bulk = new MongoDB\Driver\BulkWrite;
$bulk->update(
['x' => 2],
['$set' => ['y' => 3]],
['multi' => false, 'upsert' => false]
);
$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
$result = $manager->executeBulkWrite('db.collection', $bulk);
?>
Voir aussi
- MongoDB\Driver\Manager::executeBulkWrite() - Execute one or more write operations
- MongoDB\Driver\WriteResult
Version en cache
25/12/2024 02:43:17 Cette version de la page est en cache (à la date du 25/12/2024 02:43:17) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-mongodb-driver-bulkwrite.update.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
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.