Puedes hacer todo esto con una sola update
llame al modelo en lugar de buscarlo primero con findOne
:
User.update(
{'addresses._id': address_id},
{$set: {'addresses.$.street': 'Blah'}},
function(err, count) { ... });
Esto usa el posicional $
operador
en el $set
para apuntar solo a las addresses
elemento que coincidió en la consulta.