-
Type:
Task
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: Query Parsing, Query Planning
-
Query Optimization
-
Fully Compatible
-
0
-
None
-
None
-
None
-
None
-
None
-
None
-
None
For example, consider we have 2 indexes i1:
{"a": 1}and i2:
{"a": 1, "foo": 1}where i1 was created when the collection had arrays on field "a" and i2 was created at a later point when the documents that had field "a" as arrays are deleted.
In this case, if the indexes have not been rebuilt we will have from i1 that field "a" is an array and from i2 field "a" is not an array. Since index metadata arrayness can only move in one direction (not array to array) we can just use the AND of the conflicting nodes to get the most precise understanding of arrayness of fields.