-
Type:
Bug
-
Status: Closed
-
Priority:
Major - P3
-
Resolution: Duplicate
-
Affects Version/s: 2.6.0, 2.6.1
-
Fix Version/s: None
-
Component/s: Querying
-
Labels:None
-
Operating System:ALL
-
Steps To Reproduce:
I just upgraded to Mongo 2.6.1 and one update statement that was working before is not returning an error. The update statement is:
db.post.update( { 'answers.comments.name': 'jeff' },
|
{ '$set': {
|
'answers.$.comments.$.name': 'joe'
|
}},
|
{ multi: true }
|
)
|
The error I get is:
WriteResult({
|
"nMatched" : 0,
|
"nUpserted" : 0,
|
"nModified" : 0,
|
"writeError" : {
|
"code" : 2,
|
"errmsg" : "Too many positional (i.e. '$') elements found in path 'answers.$.comments.$.createUsername'"
|
}
|
})
|
When I update an element just one level deep instead of two (i.e. answers.$.name instead of answers.$.comments.$.name), it works fine. If I downgrade my mongo instance below 2.6, it also works fine.
- duplicates
-
SERVER-831 Positional Operator Matching Nested Arrays
-
- Closed
-