Acumulatorii $push și $addToSet în Aggregation MongoDB în MongoDB & NoSQL

Acumulatori de agregare ce agregă valori într-un tablou pentru fiecare grup: $push păstrează toate valorile, $addToSet elimină duplicatele.

Sintaxă
{ $group: { _id: '$dept', angajati: { $push: '$nume' }, orase: { $addToSet: '$oras' } } }

Ce sunt $push și $addToSet în agregare

În etapa $group din pipeline-ul de agregare, aveți adesea nevoie să colectați detalii despre entitățile dintr-un grup într-un tablou:

  • $push: adaugă fiecare valoare întâlnită în tabloul rezultat, permițând apariția elementelor duplicate.
  • $addToSet: adaugă o valoare doar dacă aceasta nu există deja în tablou, asigurând unicitatea elementelor (set matematic).
Exemplu Concret: Agruparea comenzilor după client cu colectarea SKU-urilor unice
db.comenzi.aggregate([
    {
        $group: {
            _id: "$client_id",
            toateComenzile: { $push: "$numar_comanda" },
            categoriiCumparateUnice: { $addToSet: "$categorie_produs" }
        }
    }
]);

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Acumulatorii $push și $addToSet în Aggregation MongoDB

Ai o nelămurire despre utilizarea comenzii Acumulatorii $push și $addToSet în Aggregation 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.