-
Type: Question
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Query Execution
-
Fully Compatible
-
v5.0
-
Query Execution 2021-07-26, QE 2021-08-09, QE 2021-08-23, QE 2021-09-06, QE 2021-09-20
On the legacy query engine (4.4, 5.0 with internalQueryForceClassicEngine), passing on a filter object with the form
{"": null} evaluates as true and returns all docs.
However on the new query engine it evaluates as false.
This was observed by a test case with the Go Driver passing bson.D{{}} as the filter.
Changing to bson.D{} (which translates to filter: {}) works around the issue.
- is related to
-
SERVER-59757 Evaluate supporting queries with match expressions on empty field names in SBE
- Closed
- related to
-
SERVER-64123 $elemMatch value predicate causes queries to accidentally fall back to the classic engine
- Closed
-
SERVER-57758 Turn SBE off by default and invert the sense of the internalQueryForceClassicEngine flag
- Closed