-
Type: Improvement
-
Resolution: Done
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Aggregation Framework
-
None
By analyzing the pipeline from back to front, if projections use inclusion, we can infer what fields we will need to evaluate the pipeline. If this is carried back to the beginning of the pipeline in a cumulative way (including indirect references in expressions), then we can get the complete set of fields that we need. Use this to limit the fields that are added to the reified documents at the head of the pipeline to reduce the amount of data passing through pipelines. May not be a significant change for pipelines that don't includes $sort or $group, but potentially a huge savings for those that do.
- is depended on by
-
SERVER-4930 aggregation: use dependency information to satisfy pipelines with index-only scans when possible
- Closed
-
SERVER-5090 aggregation: use covered index
- Closed
-
SERVER-5224 support index-only queries under aggregation pipelines
- Closed
- is related to
-
SERVER-447 new aggregation framework
- Closed
-
SERVER-4445 aggregation: use a string table to reduce field name storage when using aggregation
- Closed
-
SERVER-4968 Aggregation fails with ambiguous assertion when applied to a collection with forbidden BSON types
- Closed
- related to
-
SERVER-4608 aggregation: allow binary data to pass through pipelines
- Closed
-
SERVER-5718 Code and CodeWScope should be able to pass through aggregation
- Closed