How to make a findOneAndUpdate in an array within another array with Mongoose

Asked

Viewed 286 times

0

I am beginner in Mongoose, I would like to make an amendment (findOneAndUpdate) in the second array address in the city field, I tried everything I knew and I thank nothing to everyone who can help.

{
    _id: "573c5ed236c156cc2351d1ea",
    titulo: 'avengers',
    pessoa:
    [
        {
            _id:"573c5ed236c156cc2351d1ee",
            endereco[
                {
                    cidade: "sao paulo",
                    bairro: "bairro1",
                    _id: "573c5ed236c156cc2351d1f0" 
                }
            ]
        },
        {
            endereco[
                {
                    cidade: "rio de janeiro",
                    bairro: "bairro2",
                    id: "573c5ed236c156cc2351d1ef"
                }
            ]
        }
    ]
}

1 answer

0

Try this way:

SeuModel.findOneAndUpdate(
  {'pessoa.endereco.id': '573c5ed236c156cc2351d1ef'},
  {'$set': {
    'pessoa.$.endereco.$.cidade': 'Nova cidade',
    'pessoa.$.endereco.$.bairro': 'Novo bairro'
  }},
  {new: true}, // <-(opcional) esta opção é para retornar o documento atualizado
  function(err, documentoAtualizado) { ... }
);

Browser other questions tagged

You are not signed in. Login or sign up in order to post.