Вие директно удряте едно от текущите ограничения на MongoDB. Проблемът е, че машината не поддържа няколко позиционни оператора. Вижте това Многократно използване на позиционния оператор `$` за актуализиране на вложени масиви
Има отворен билет за това:https://jira.mongodb.org/browse/SERVER-831 (споменато също там)
Можете също да прочетете това за това как да промените модела си на данни:Актуализиране на вложени масиви в mongodb
Ако е възможно за вас, можете да направите:
db.collection.update({_id:2,"event_type.name":'MT' ,"event_type.language.name":'English'},{$set:{"event_type.0.language.$.count":<number>}})
db.collection.update({_id:2,"event_type.name":'MT' ,"event_type.language.name":'English'},{$set:{"event_type.$.language.0.count":<number>}})
Но не можете да направите:
db.collection.update({_id:2,"event_type.name":'MT' ,"event_type.language.name":'English'},{$set:{"event_type.$.language.$.count":<number>}})