- 
    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
 - 
        None
 
- 
        None
 - 
        None
 - 
        None
 - 
        None
 - 
        None
 - 
        None
 
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
 
 -