有没有一种方法可以在不传递parentId的情况下从对象中删除子文档? 所以我有一个看起来像这样的文件:
name: {
type: [String],
trim: true,
required: [true, 'Please add your name']
},
experience: [
{
title: {
type: String,
trim: true,
required: [true, 'Please add an experience title']
}
}
],
本文档中的每个文档都可以在Experience数组中包含多个对象。
添加和更新对我来说很容易,因为我通常只需要传递父文档的ID。
现在,我想通过仅证明其ID ...而不是parentId来删除所述体验数组的任何对象。
希望这些代码可以帮助解释我在寻找什么:
const resume = await Resume.findByIdAndUpdate(
{
// _id: req.params.id, // <=== is the parent id...
experience: { _id: req.params.exp_id }
},
{
$pull: { experience: { _id: req.params.exp_id } }
},
{
new: true,
runValidators: true
}
);
您可以在上面的代码中看到我传递了父文档的_id,如果继续这种方式,它会很好用,但是出于我的需要,我只需要传递子文档的_id。
实际上可行吗?