Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

108
Visualizações
Mongoose element in array of objects

i would like to update and element in array of objects if it is already in the array.

For now what i'm doing is this :

exports.pushDocumentsList = (req, res) => {
  const documents = [];

  documents.push({
    _id: req.body.document._id,
    fileid: req.body.document.fileid,
    filename: req.body.document.filename,
    url: req.body.document.url ? req.body.document.url : '',
    status: req.body.document.status ? req.body.document.status : '',
    expiredate: req.body.document.expiredate
      ? req.body.document.expiredate
      : '',
  });

  User.findOneAndUpdate(
    {
      _id: req.profile._id,
    },
    { $push: { documents } },
    { new: true, useFindAndModify: false },
    (err, docu) => {
      console.log(docu);
      if (err) {
        return res.status(400).json({
          error: "Non è stato possibile aggiornare i documenti dell'utente",
        });
      }
      return res.status(200).json({
        status: 'success',
        message: 'Documento caricato con successo',
        doc: req.body.document,
      });
    }
  );
};

So this only appends the element to the array , i would like to know how can i update the element if it's already in the array.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

you can do it with. notation and $eleMatch example with dot:

const user = await User.findOneAndUpdate(
  { _id: req.profile._id, "documents._id": "someId" },
  {
    $set: {
      "documents.$.filename": "file changed"
      "documents.$.status": "status will change",
    },
  }, //update
  { new: true } //options
);
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda