mongodbが配列フィールドにクエリを実行すると、位置演算子$
が提供されます。 これを使用して、その配列内の特定の要素にアクセスできます。 elemMatch演算子を使用して、オブジェクトの配列内のフィールドを検索できます。
例:
db.myCollection.find({
_id: ObjectId("53b1a44350f148976b0b6044"),
myArray: {
$elemMatch: {key1: 'somevalue'}
}
}, {
$set:{
'myArray.$.key2': 'someOtherValue'
}
});
参照: http://docs.mongodb.org/manual/reference/演算子/更新/位置/