Du rammer direkte en af de nuværende begrænsninger af MongoDB. Problemet er, at motoren ikke understøtter flere positionsoperatorer. Se denne Multiple use of the positional `$` operator til at opdatere indlejrede arrays
Der er en åben billet til dette:https://jira.mongodb.org/browse/SERVER-831 (også nævnt der)
Du kan også læse denne om, hvordan du ændrer din datamodel:Opdatering af indlejrede arrays i mongodb
Hvis det er muligt for dig, kan du gøre:
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>}})
Men du kan ikke gøre:
db.collection.update({_id:2,"event_type.name":'MT' ,"event_type.language.name":'English'},{$set:{"event_type.$.language.$.count":<number>}})