MongoDB删除子文档的技巧

最近在学习树结构时使用deleteOne() 方法只能实现删除父节点的操作,所以就自己整理了删除子文档的技巧。

MongoDB的“update”操作可以更新或删除子文档

上面的代码会从文档“Prop”中对应“selectedPropId”的文档中,删除其子文档“Children”中“objectId”字段为“selectedPropId”的子文档。

上面的例题是我自己学习树结构时的代码,为了更好理解我在下面又写了一下,要删除子文档,可以使用“$pull”选项。如果要删除单个子文档,只需使用文档的“_id”字段,例如:

上面的代码会从文档“products”中对应“productId”的文档中,删除其子文档“relatives”中“_id”字段为“relativeId”的子文档。

除了一次删除一个子文档外也可以一次删除多个子文档,例如:

 上面的代码可以将文档“products”下对应“productId”的子文档“relatives”的那些_id字段为“relativeId1”,“relativeId2”和“relativeId3”的子文档一次性删除。

当然如果使用的是mongoose可以直接定义模型使用该方法,就和我第一个图片所示。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值