これはすべて、1回のupdateで実行できます。 findOneで最初にモデルをフェッチする代わりに、モデルを呼び出します :
User.update(
{'addresses._id': address_id},
{$set: {'addresses.$.street': 'Blah'}},
function(err, count) { ... });
これは、位置$を使用します オペレーター
$set内 addressesのみをターゲットにする クエリで一致した要素。