Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
$[<identifier>]
L'operatore posizionale $[<identifier>] filtrato aggiorna tutti gli elementi dell'array che corrispondono alle condizioni di filtro specificate. Viene utilizzato con l'arrayFiltersopzione di aggiornare selettivamente gli elementi dell'array.
Parametri
-
field.$[identifier]: Il campo dell'array con l'operatore posizionale filtrato. -
arrayFilters: una serie di condizioni di filtro che determinano gli elementi da aggiornare.
Esempio (MongoDB Shell)
L'esempio seguente dimostra l'utilizzo dell'$[<identifier>]operatore per aggiornare elementi specifici dell'array in base a una condizione.
Crea documenti di esempio
db.students.insertOne({ _id: 1, name: "Alice", grades: [ { subject: "Math", score: 85 }, { subject: "Science", score: 92 }, { subject: "History", score: 78 } ] });
Esempio di interrogazione
db.students.updateOne( { _id: 1 }, { $inc: { "grades.$[elem].score": 5 } }, { arrayFilters: [{ "elem.score": { $gte: 80 } }] } );
Output
{
"_id" : 1,
"name" : "Alice",
"grades" : [
{ "subject" : "Math", "score" : 90 },
{ "subject" : "Science", "score" : 97 },
{ "subject" : "History", "score" : 78 }
]
}
Esempi di codice
Per visualizzare un esempio di codice per l'utilizzo $[<identifier>] dell'operatore, scegli la scheda relativa alla lingua che desideri utilizzare: