微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有一种方法可以在不传递parentId的情况下从对象中删除子文档?

如何解决有没有一种方法可以在不传递parentId的情况下从对象中删除子文档?

有没有一种方法可以在不传递parentId的情况下从对象中删除子文档? 所以我有一个看起来像这样的文件

name: {
  type: [String],trim: true,required: [true,'Please add your name']
},experience: [
  {
    title: {
      type: String,'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。

实际上可行吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。