[SERVER-23991] $graphLookup should optimize with $match Created: 29/Apr/16 Updated: 05/Dec/16 Resolved: 14/Nov/16 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Aggregation Framework |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Benjamin Murphy | Assignee: | Charlie Swanson |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | optimization | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||||||||||||||||||
| Operating System: | ALL | ||||||||||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||||||||||
| Description |
|
If a pipeline has a $graphLookup followed by a $match, we should push as much of the $match as possible before the $graphLookup, as we do with $lookup and $match. Note that unlike $lookup, $graphLookup cannot internalize part of the $match and execute it on the foreign collection, as this could unintentionally prevent us from exploring part of the graph. |
| Comments |
| Comment by Charlie Swanson [ 14/Nov/16 ] |
|
This was accomplished as part of a refactor done for |