Puoi fare tutto questo con un singolo update
chiama il modello invece di recuperarlo prima con findOne
:
User.update(
{'addresses._id': address_id},
{$set: {'addresses.$.street': 'Blah'}},
function(err, count) { ... });
Questo utilizza il posizionale $
operatore
nel $set
per scegliere come target solo gli addresses
elemento che è stato trovato nella query.