U raakt direct een van de huidige beperkingen van MongoDB. Het probleem is dat de engine verschillende positionele operators niet ondersteunt. Zie deze Meervoudig gebruik van de positionele `$`-operator om geneste arrays bij te werken
Hiervoor is een open ticket:https://jira.mongodb.org/browse/SERVER-831 (ook daar genoemd)
U kunt deze ook lezen over hoe u uw gegevensmodel kunt wijzigen:geneste arrays bijwerken in mongodb
Als het voor u haalbaar is, kunt u het volgende doen:
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>}})
Maar je kunt niet doen:
db.collection.update({_id:2,"event_type.name":'MT' ,"event_type.language.name":'English'},{$set:{"event_type.$.language.$.count":<number>}})