-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Query Integration, Query Optimization
In SERVER-83756, we disabled pipeline optimization when $meta is used in an exclusion projection as a short-term fix to a bug within dependency analysis that caused $match stages that rely on computed $meta fields to be incorrectly pushed before exclusionary $project stages that project those computed $meta fields.
We intended to revert this change by banning $meta from exclusion projections (SERVER-86431), but decided not to make that breaking change. Instead, we should establish a dependency analysis workflow that will recognize when $match depends on a computed $meta field in an exclusionary $project.
There is a thorough comment here with more context.
- is related to
-
SERVER-86431 No longer permit $meta in exclusion projections; parse $meta in find as inclusion by default
-
- Closed
-
- related to
-
SERVER-100902 Split $meta field validation out of DepsTracker
-
- Needs Scheduling
-