[英]How to delete an object in nested array of objects in MongoDB with node js
I'm still a beginner in node express js and mongoDB. Right now, I'm trying to Delete an object in nested array of objects.我仍然是 node express js 和 mongoDB 的初学者。现在,我正在尝试删除嵌套对象数组中的 object。
Array of Objects:对象数组:
[{
_id: new ObjectId("63d89f8823981819cf61816e"),
iqc: [
{
partname: 'jio',
vendorname: 'jio',
partcode: '1234',
grndate: '2023-01-10',
project: 'jio',
lotqty: '200',
failurerate: '15%',
issuedetails: 'damaged',
status: 'pending',
_id: new ObjectId("63d89f8823981819cf61816f")
},
{
partname: 'sky',
vendorname: 'sky',
partcode: '5678',
grndate: '2023-01-04',
project: 'sky',
lotqty: '300',
failurerate: '20%',
issuedetails: 'damaged',
status: 'pending',
_id: new ObjectId("63d89f8823981819cf618170")
}
],
__v: 0
}]
I want to delete the object in iqc which has the _id: new ObjectId("63d89f8823981819cf618170") .我想删除 iqc 中的 object,它具有_id: new ObjectId("63d89f8823981819cf618170") 。
So i tried this code for deleting in node.js. It didnt work.It throws an error data.iqc.findByIdandDelete is not a function所以我尝试在 node.js 中删除此代码。它没有工作。它抛出错误 data.iqc.findByIdandDelete 不是 function
app.delete('/delete/:id/:secondid', async (req, res) => {
const data = await IQC.findById(req.params.id);
if(data )
{
await data.iqc.findByIdandDelete(req.params.secondid)
return res.json("Deleted Successfully")
}
});
Here IQC is the db collection and secondid is the id of the nested object id which I wanted to delete _id: new ObjectId("63d89f8823981819cf618170") .这里 IQC 是数据库集合,secondid 是我想删除的嵌套 object id 的 id : new ObjectId("63d89f8823981819cf618170") 。
Thanks in Advance.提前致谢。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.