Bezpośrednio natrafiasz na jedno z obecnych ograniczeń MongoDB. Problem polega na tym, że silnik nie obsługuje kilku operatorów pozycyjnych. Zobacz to Wielokrotne użycie operatora pozycyjnego `$` do aktualizacji zagnieżdżonych tablic
Jest na to otwarty bilet:https://jira.mongodb.org/browse/SERVER-831 (również tam wspomniany)
Możesz również przeczytać ten, jak zmienić model danych:Aktualizacja zagnieżdżonych tablic w mongodb
Jeśli jest to dla Ciebie możliwe, możesz zrobić:
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>}})
Ale nie możesz zrobić:
db.collection.update({_id:2,"event_type.name":'MT' ,"event_type.language.name":'English'},{$set:{"event_type.$.language.$.count":<number>}})