$setWindowFields
Reference group: Pipeline stages
What it does
Computes windowed values while retaining documents.
Syntax
{$setWindowFields: { partitionBy?, sortBy?, output }}
Use case
Running totals, moving averages, and rankings.
$setWindowFields: practical example
{ $setWindowFields: { partitionBy: "$customerId", sortBy: { createdAt: 1 }, output: { runningTotal: { $sum: "$total", window: { documents: ["unbounded", "current"] } } } } }💡 Explanation
Computes windowed values while retaining documents.
When to use it
Running totals, moving averages, and rankings.
Key Takeaways
- Computes windowed values while retaining documents.
- Typical use: Running totals, moving averages, and rankings.