Wanneer mongodb een arrayveld opvraagt, levert het een positionele operator $
die u kunt gebruiken om toegang te krijgen tot een specifiek element in die array. U kunt een elemMatch-operator gebruiken om in de velden binnen een reeks objecten te zoeken.
Voorbeeld:
db.myCollection.find({
_id: ObjectId("53b1a44350f148976b0b6044"),
myArray: {
$elemMatch: {key1: 'somevalue'}
}
}, {
$set:{
'myArray.$.key2': 'someOtherValue'
}
});
Zie:http://docs.mongodb.org/manual/reference/ operator/update/positioneel/