-
Type:
Task
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Query Optimization
-
Fully Compatible
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Implement narrowType for TypeMatchExpression.
Cases that should work:
- {x: {$type: number}} with x = any -> x is array | number
- {x: {$type: number}} with x = not array -> x is number
- {x: {$not: {$type: number}}} with x = any -> x is any except number (including array)
- {x: {$not: {$type: number}}} with x = not array -> x is any except number and array
- {x: {$not: {$type: array}}} with x = any -> x is any except array
- also unions: x: {$type: [number, string]}} tells us string|number|array
- depends on
-
SERVER-134593 Add basic matcher path traversal and narrowing
-
- Needs Scheduling
-
- is depended on by
-
SERVER-134595 Infer type of field from previous $match in DependencyGraph
-
- In Code Review
-
-
SERVER-134934 Implement And/Or/Nor inference for MatchExpressions
-
- Closed
-