-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Query Optimization
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Either getType() or it's call site in canPathBeArray() should be aware of renames.
The first option is more difficult to implement but can give more narrow results in cases like below, where a chain of renames and predicates on the renamed fields are intertwined. We should be able to take an intersection of the types narrowed by each $match, when the the caller asks for the type of "c":
[
{$match: {a: ...}},
{$set: {b: "$a"}},
{$match: {b: ...}},
{$set: {c: "$b"}},
{$match: {c: ...}},
...
]
- related to
-
SERVER-134595 Infer type of field from previous $match in DependencyGraph
-
- In Code Review
-
-
SERVER-134596 Use type of field in canPathBeArray
-
- In Code Review
-