Modificatorul filtrat $[<identificator>] în MongoDB în MongoDB & NoSQL

Actualizează doar elementele dintr-un tablou care îndeplinesc condițiile definite explicit în arrayFilters.

Sintaxă
db.collection.updateMany(query, { $set: { 'tablou.$[elem].camp': valoare } }, { arrayFilters: [ { 'elem.conditie': ... } ] })

Ce este modificatorul filtrat $[<identificator>]

Operatorul pozițional filtrat $[<identificator>] oferă cel mai înalt grad de precizie la actualizarea tablourilor. Prin intermediul opțiunii arrayFilters, puteți specifica criterii de selecție independente pentru elementele din matrice care trebuie modificate, lăsând restul elementelor neatinse.

Puteți utiliza mai mulți identificatori simultan, permițând actualizarea la nivel de matrici imbricate (nested arrays).

Exemplu Concret: Creșterea prețului doar pentru produsele de o anumită categorie
// Mărește stocul doar pentru produsele cu mărimea 'XL'
db.depozite.updateMany(
    { tara: "Romania" },
    {
        $inc: { "stocuri.$[articol].cantitate": 10 }
    },
    {
        arrayFilters: [
            { "articol.marime": "XL", "articol.cantitate": { $lt: 5 } }
        ]
    }
);

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Modificatorul filtrat $[<identificator>] în MongoDB

Ai o nelămurire despre utilizarea comenzii Modificatorul filtrat $[<identificator>] în MongoDB sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.