Możesz to wszystko zrobić za pomocą jednej update
wywołaj model zamiast najpierw go pobrać za pomocą findOne
:
User.update(
{'addresses._id': address_id},
{$set: {'addresses.$.street': 'Blah'}},
function(err, count) { ... });
Wykorzystuje to pozycyjny $
operator
w $set
kierować tylko na addresses
element, który został dopasowany w zapytaniu.