如何在Node中将新对象推入数组时向对象数组添加ID

dl5txlt9  于 2023-06-22  发布在  Node.js
关注(0)|答案(1)|浏览(140)

我有一个名为“previousEducation”的数组,它最初是一个空数组,但是一旦我将一个对象推入数组,我希望每个将要推入数组的对象都有一个对象id。虽然从我上传的截图来看,对象id在(1)和(2)中,但我不需要我在(1)中圈出的方面,我想知道我命名的那个(2),其中每个对象都有一个id,后跟req. body。有没有一种方法可以将req.body推到数组中并将其存档。
注意:我的req.body中的键值对已经被解构为myBody:考试:“waec”科目:“英语”成绩:“a1”年份:“2023”考试编号:“com 1234”候选人编号:“waec 7676”标识号:“DE89392982”
谢谢
我的准则。

const {receivedEmail, ...myBody} = req.body 
  studentModel.findOneAndUpdate(
    {email: req.body.receivedEmail},
    {$push: {previousEducation:{ _id: new ObjectId(), myBody}}}
  )
  .then((response) => {
    // console.log(response + 'JWT');
    res.send({message: 'O level Result added successfully', status: true, response});
  })
}```[![The image screenshot][1]][1]

  [1]: https://i.stack.imgur.com/sztiw.png
bjp0bcyl

bjp0bcyl1#

展开你的myBody对象。当你把它推到数组时。将扩展操作符...myBody推入数组时,添加如下所示的扩展操作符。

const {receivedEmail, ...myBody} = req.body 
  studentModel.findOneAndUpdate(
    {email: req.body.receivedEmail},
    {$push: {previousEducation:{ _id: new ObjectId(), ...myBody}}}
  )
  .then((response) => {
    // console.log(response + 'JWT');
    res.send({message: 'O level Result added successfully', status: true, response});
  })
}

相关问题