Details
-
Bug
-
Resolution: Done
-
Minor - P4
-
None
-
2.4.12
-
None
-
ALL
-
Description
The old 2.4.X query by _id hack code path doesn't pass a MatchDetails object to fillQueryResultFromObj, so the positional array projection feature (SERVER-828) doesn't do the right thing. See:
curop.debug().idhack = true;
|
if ( found ) {
|
n = 1;
|
fillQueryResultFromObj( bb, pq.getFields() , resObject ); // details stays the default NULL param value
|
}
|
The easiest thing to do would be to avoid the query by _id hack altogether for queries with a positional array projection.
Note: I do not think this bug exists in 2.6.X or 2.8.X but I haven't tried it.