Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

110
Views
How I can Update only relevant data with this Update Controller?

Update Controller

exports.UpdatePanelMembers = (req, res) => {
  const { panelId } = req.params;
  if (panelId) {
    Panel.findOneAndUpdate(
      { _id: panelId },
      {
        panelMembers: {
          member1: {
            memberId: req.body.panelMembers.member1.memberId,
            fullName: req.body.panelMembers.member1.fullName,
            username: req.body.panelMembers.member1.username,
          },
          member2: {
            memberId: req.body.panelMembers.member2.memberId,
            fullName: req.body.panelMembers.member2.fullName,
            username: req.body.panelMembers.member2.username,
          },
          member3: {
            memberId: req.body.panelMembers.member3.memberId,
            fullName: req.body.panelMembers.member3.fullName,
            username: req.body.panelMembers.member3.username,
          },
        },
      }
    ).exec((error, result) => {
      if (error) return res.status(400).json({ error });
      if (result) {
        res.status(202).json({ result });
      }
    });
  }
};

In this code, if I update member1 details only, other data will be erased. So I want to update only relevant data like this postman JSON.

Postman JSON Code

{
    "panelMembers": {
        "member1": {
            "username":"john.j",
            "fullName":"John Jade",
            "memberId":"member123"
        }
    }
}

Postman enter image description here

Frontend is like this enter image description here

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

You just have to update member1 in panelMembers object. So for that, send member1 object in request from postman and make your query as :-

Panel.findOneAndUpdate({ _id: panelId },{'panelMembers.$.member1': member1})

This will only update member1 object. Other objects will not be affected or erased.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!