Details
-
New Feature
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
MongoDB provides the aggregation pipeline framework for multi-stage data processing. Currently, the query engine invokes this framework to apply individual statement patterns (using a "$match" expression for each and iterating through the results), then applies higher-level query operations (join, filter, select, project, etc) client-side.
In principle, those high-level query operations could be rewritten as aggregation pipeline stages as well ($group, $match, $project, etc). This would allow more query evaluation logic to be executed by the MongoDB server itself, enabling server-side optimization. This could be used as a general query optimization, but would additionally be useful for any tool that only needed to write query results back to the server: adding a write step to the end of the resulting pipeline could obviate the need to communicate individual results to the client at all.
Attachments
Issue Links
- links to