MongoDB: Too many positional (i.e. '$') elements found in path
mongodb
Solution
The positional operator can be used only once in a query. This is a limitation, there is an open ticket for improvement: https://jira.mongodb.org/browse/SERVER-831
Problem
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.