Details
-
Bug
-
Resolution: Works as Designed
-
Major - P3
-
None
-
3.4.7, 3.5.12
-
None
-
None
-
Query
-
Fully Compatible
-
ALL
-
Description
After setting FCV to 3.6 on 3.5.12, the mongo shell session appears as from the repro. This is different from FCV 3.4, which would give the following response:
WriteResult({
|
"nMatched" : 0,
|
"nUpserted" : 0,
|
"nModified" : 0,
|
"writeError" : {
|
"code" : 16837,
|
"errmsg" : "cannot use the part (a of a.b) to traverse the element ({a: 1.0})"
|
}
|
})
|
In the example, field 'a' can actually be nearly any data type including a number, a string, an array, NaN, null, or undefined. This difference can also be observed regardless of whether multi or upsert is set to true / false. FCV 3.6 would return nMatched as the number of documents matching the <find> portion of the query.
The WriteResult given in FCV 3.6 may not accurately reflect a reason (or reflect a reason at all) for why no documents were upserted / modified, especially when upsert is set to true.