Du kan använda $ positionsoperatör för att göra detta:
db.soup.update(
{_id: ObjectId("50b429ba0e27b508d854483e"), 'array.id': '2'},
{$set: {'array.$.letter': 'c'}})
$ i uppdateringsobjektet fungerar som en platshållare för det första elementet i array för att matcha frågeväljaren.