Expresiile $size și $map în MongoDB Aggregation în MongoDB & NoSQL

Află dimensiunea unui tablou ($size) și transformă fiecare element dintr-un tablou aplicând o expresie calculată ($map).

Sintaxă
{ $size: <tablou> } | { $map: { input: <tablou>, as: <var>, in: <expresie> } }

Ce sunt expresiile $size și $map

Manipularea tablourilor direct în pipeline se realizează prin expresii funcționale puternice:

  • $size: returnează numărul exact de elemente conținute în tablou.
  • $map: parcurge un tablou, atribuie fiecare element unei variabile temporare (argumentul as) și aplică o expresie de transformare (argumentul in), returnând un nou tablou cu elementele transformate (similar metodei Array.prototype.map din JavaScript).
Exemplu Concret: Calcularea TVA-ului pentru fiecare articol dintr-o comandă
db.comenzi.aggregate([
    {
        $project: {
            numarArticole: { $size: "$articole" },
            preturiCuTVA: {
                $map: {
                    input: "$articole",
                    as: "produs",
                    in: {
                        nume: "$$produs.titlu",
                        pretCuTVA: { $multiply: [ "$$produs.pretFaraTVA", 1.19 ] }
                    }
                }
            }
        }
    }
]);

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Expresiile $size și $map în MongoDB Aggregation

Ai o nelămurire despre utilizarea comenzii Expresiile $size și $map în MongoDB Aggregation 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.