-
Type: Improvement
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Query Optimization
The following query incorrectly returns the one document when run through CQF:
coll.insert({a: [5]}); assert.eq(0, coll.find({'a.b': null}).itcount());
The semantics are that if the leading path resolves to an object, then the `b` field of that object must be null/missing. But in this case, the leading path `a` does not find an object even with implicit array traversal so the command should return 0 documents.
The existing test that exercises this is here.
- is depended on by
-
SERVER-66606 Full statistics pipeline
- Closed
- is duplicated by
-
SERVER-69782 In CQF we erroneously match documents
- Closed
-
SERVER-70929 cover_null_queries.js returns unexpected output for CQF passthrough
- Closed
- is related to
-
SERVER-69782 In CQF we erroneously match documents
- Closed
-
SERVER-80976 [CQF] Fall back to classic on dotted path comparison to null
- Closed
-
SERVER-75067 [CQF] Support simplifications related to exists:true/false
- Open
- related to
-
SERVER-36681 Change {$ne: null} semantics to be more intuitive
- Backlog