Lorsque mongodb interroge un champ de tableau, il fournit un opérateur positionnel $
que vous pouvez utiliser pour accéder à un élément spécifique dans ce tableau. Vous pouvez utiliser un opérateur elemMatch pour rechercher dans les champs d'un tableau d'objets.
Exemple :
db.myCollection.find({
_id: ObjectId("53b1a44350f148976b0b6044"),
myArray: {
$elemMatch: {key1: 'somevalue'}
}
}, {
$set:{
'myArray.$.key2': 'someOtherValue'
}
});
Voir :http://docs.mongodb.org/manual/reference/ opérateur/mise à jour/positionnel/