Когато mongodb прави заявка за поле от масив, той предоставя позиционен оператор $
който можете да използвате за достъп до конкретен елемент в този масив. Можете да използвате оператор elemMatch, за да търсите в полетата в рамките на масив от обекти.
Пример:
db.myCollection.find({
_id: ObjectId("53b1a44350f148976b0b6044"),
myArray: {
$elemMatch: {key1: 'somevalue'}
}
}, {
$set:{
'myArray.$.key2': 'someOtherValue'
}
});
Вижте:http://docs.mongodb.org/manual/reference/ оператор/актуализация/позиционен/