SetWindowFields class
$setWindowFields aggregation stage
Stage description
Available since MongoDB version 5.0
Performs operations on a specified span of documents in a collection, known as a window, and returns the results based on the chosen window operator.
For example, you can use the $setWindowFields stage to output the:
- Difference in sales between two documents in a collection.
- Sales rankings.
- Cumulative sales totals.
- Analysis of complex time series information without exporting the data to an external database.
Example:
Dart code:
  SetWindowFields(
     partitionBy: {r'$year': r"$orderDate"},
     sortBy: {'orderDate': 1},
     output: Output('cumulativeQuantityForYear', Sum(r'$quantity'),
         documents: ["unbounded", "current"])).build(),
Equivalent mongoDB aggregation stage:
 {
   r'$setWindowFields': {
     'partitionBy': {r'$year': r"$orderDate"},
     'sortBy': {'orderDate': 1},
     'output': {
       'cumulativeQuantityForYear': {
         r'$sum': r"$quantity",
         'window': {
           'documents': ["unbounded", "current"]
         }
       }
     }
   }
 }
https://www.mongodb.com/docs/manual/reference/operator/aggregation/setWindowFields/
- Inheritance
- 
    - Object
- AggregationStage
- SetWindowFields
 
Constructors
- 
          SetWindowFields({dynamic partitionBy, Map<String, int> ? sortBy, dynamic defaultId, required dynamic output})
- 
          Creates $setWindowFieldsaggregation stage
Properties
- hashCode → int
- 
  The hash code for this object.
  no setterinherited
- runtimeType → Type
- 
  A representation of the runtime type of the object.
  no setterinherited
Methods
- 
  build() → Map< String, Object> 
- 
  
  inherited
- 
  noSuchMethod(Invocation invocation) → dynamic 
- 
  Invoked when a nonexistent method or property is accessed.
  inherited
- 
  toString() → String 
- 
  A string representation of this object.
  inherited
Operators
- 
  operator ==(Object other) → bool 
- 
  The equality operator.
  inherited