$setWindowFields

Reference type:Cheat sheetFormat:Syntax + example + use case

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.