Array を更新するための Operator はいろいろとあるものの、$ を使用しても条件にマッチする first element
しか更新できない。
条件にマッチする要素全てを同時に更新するためには、forEach を使って行う。
db.collection.find(
{ "arrays" : { $size: 2 }
).forEach( function(doc) {
doc.arrays.forEach(function(element) {
element.hoge = 'hige'
})
db.arrays.save(doc);
})
深い Embedded Document でも対応できるけど、なかなか面倒。