Etapa $setWindowFields în MongoDB Aggregation în MongoDB & NoSQL

Permite rularea funcțiilor de analiză analitică (window functions) pe partiții de documente fără a restrânge numărul de rânduri.

Sintaxă
{ $setWindowFields: { partitionBy: <camp>, sortBy: <sort>, output: { <camp>: { <functieFereastra> } } } }

Ce este etapa $setWindowFields

Etapa $setWindowFields aduce capabilitățile clasice de ferestre analitice (echivalentul clauzei OVER (PARTITION BY ... ORDER BY ...) din SQL) direct în MongoDB. Aceasta permite calcularea totalurilor cumulative (running totals), mediilor mobile (moving averages) sau clasamentelor (rankings, dense_rank) pe subseturi ordonate de date, fără a restrânge documentele așa cum face $group.

Exemplu Concret: Calcularea totalului vânzărilor cumulative pe fiecare lună
db.vanzari.aggregate([
    {
        $setWindowFields: {
            partitionBy: "$regiune",
            sortBy: { data_vanzarii: 1 },
            output: {
                totalCumulativRegiune: {
                    $sum: "$valoare",
                    window: {
                        documents: [ "unbounded", "current" ]
                    }
                },
                clasamentVanzare: {
                    $denseRank: {}
                }
            }
        }
    }
]);

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Etapa $setWindowFields în MongoDB Aggregation

Ai o nelămurire despre utilizarea comenzii Etapa $setWindowFields î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.