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