-
Type:
Task
-
Resolution: Gone away
-
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
-
- Closed
-
-
SERVER-134596 Use type of field in canPathBeArray
-
- Closed
-
-
SERVER-137515 Complete TODO listed in SERVER-135568
-
- Closed
-