Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
$[<identifier>]
L'opérateur de position $[<identifier>] filtré met à jour tous les éléments du tableau qui répondent aux conditions de filtre spécifiées. Il est utilisé avec l'arrayFiltersoption de mise à jour sélective des éléments du tableau.
Paramètres
-
field.$[identifier]: Le champ du tableau avec l'opérateur de position filtré. -
arrayFilters: ensemble de conditions de filtre qui déterminent les éléments à mettre à jour.
Exemple (MongoDB Shell)
L'exemple suivant montre comment utiliser l'$[<identifier>]opérateur pour mettre à jour des éléments de tableau spécifiques en fonction d'une condition.
Création d'exemples de documents
db.students.insertOne({ _id: 1, name: "Alice", grades: [ { subject: "Math", score: 85 }, { subject: "Science", score: 92 }, { subject: "History", score: 78 } ] });
Exemple de requête
db.students.updateOne( { _id: 1 }, { $inc: { "grades.$[elem].score": 5 } }, { arrayFilters: [{ "elem.score": { $gte: 80 } }] } );
Sortie
{
"_id" : 1,
"name" : "Alice",
"grades" : [
{ "subject" : "Math", "score" : 90 },
{ "subject" : "Science", "score" : 97 },
{ "subject" : "History", "score" : 78 }
]
}
Exemples de code
Pour afficher un exemple de code relatif à l'utilisation de $[<identifier>] l'opérateur, choisissez l'onglet correspondant à la langue que vous souhaitez utiliser :