Details
-
Bug
-
Status: Closed
-
Major - P3
-
Resolution: Duplicate
-
2.6.0, 2.6.1
-
None
-
None
-
ALL
-
Description
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.
Attachments
Issue Links
- duplicates
-
SERVER-831 Positional Operator Matching Nested Arrays
-
- Closed
-