-
Type: Investigation
-
Resolution: Done
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
3
-
TAR 2024-03-04
-
Tools and Replicator
-
0.25
This makes a change in the behavior of MongoDB queries. Mainly, comparison to null via MatchExpression $eq and $in will not match `undefined` values.
It is worth noting that we will also see changes in $lookup: a null local field will not match undefined foreign field.
Description of Linked Ticket
The undefined type has been deprecated for a long time. In v8.0, we will change classic and stage builders behavior so that comparison to null does not match undefined.
This ticket will include the necessary updates to the classic comparison expressions, classic index bounds building, and stage builders code. We should consider doing a performance investigation to see if there are improvements for comparison to null queries, which should be simpler after this change. Also, we will likely need to make updates to the query fuzzers. We should consider if it's worthwhile to fuzz with data containing undefined values.
In preparation for this, we will provide downstream notifications, including recommendations for ways to achieve the original behavior, when the work is complete.
- depends on
-
SERVER-81378 Change classic behavior: equality to null should not match undefined
- Closed