PHP 8.4.1 Released!

MongoDB\Driver\BulkWrite::update

(mongodb >=1.0.0)

MongoDB\Driver\BulkWrite::updateAjoute une opération de mise à jour au lot

Description

public MongoDB\Driver\BulkWrite::update(array|object $filter, array|object $newObj, ?array $updateOptions = null): void

Ajoute une opération de mise à jour au 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)

Un document contenant des opérateurs de mise à jour (par exemple $set), un document de remplacement (c'est-à-dire seulement des expressions field:valeur), ou une » pipeline d'agrégation.

updateOptions

updateOptions
Option Type Description Defaut
arrayFilters array

Un tableau de documents de filtre qui détermine quels éléments de tableau à modifier pour une opération de mise à jour sur un champ de tableau. Voir » Spécifier des arrayFilters pour les opérations de mise à jour de tableau dans le manuel MongoDB pour plus d'informations.

Cette option est disponible dans MongoDB 3.6+ et entraînera une exception au moment de l'exécution si elle est spécifiée pour une version de serveur plus ancienne.

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.

hint string|array|object

Spécification d'index. Spécifiez soit le nom de l'index en tant que chaîne soit le modèle de clé d'index. Si spécifié, le système de requête ne considérera que les plans utilisant l'index suggéré.

Cette option est disponible dans MongoDB 4.4+ et entraînera une exception au moment de l'exécution si elle est spécifiée pour une version de serveur plus ancienne.

multi bool Met à jour uniquement le premier document correspondant si false, ou tout les documents correspondants true. Cette option ne peut pas être true si newObj est un document de remplacement. false
upsert bool Si filter ne correspond pas à un document existant, insère un unique document. Le document sera crée à partir de newObj s'il s'agit d'un document de remplacement (c'est-à-dire aucun opérateurs de mise à jour); sinon, les opérateurs dans newObj seront appliqués à filter pour créer le nouveau document. false

Valeurs de retour

Aucune valeur n'est retournée.

Erreurs / Exceptions

  • Lance une exception MongoDB\Driver\InvalidArgumentException lors d'une erreur survenue pendant l'analyse d'un argument.

Historique

Version Description
PECL mongodb 1.7.0 Ajout de l'option "hint".
PECL mongodb 1.6.0 Le paramètre newObj accepte désormais un pipeline d'agrégation. Cette fonctionnalité nécessite MongoDB 4.2+ et entraînera une exception au moment de l'exécution si elle est spécifiée pour une version de serveur plus ancienne.
PECL mongodb 1.5.0 Utiliser l'option "arrayFilters" entraînera une exception au moment de l'exécution si elle n'est pas prise en charge par le serveur. Auparavant, aucune exception n'était levée et l'option pouvait être ignorée.
PECL mongodb 1.4.0 Ajout de l'option "arrayFilters".
PECL mongodb 1.2.0 Ajout de l'option "collation".

Exemples

Exemple #1 Exemple de MongoDB\Driver\BulkWrite::update()

<?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

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top