为了账号安全,请及时绑定邮箱和手机立即绑定

如何删除MongoDB中的数组元素?

如何删除MongoDB中的数组元素?

呼唤远方 2019-07-02 17:22:00
如何删除MongoDB中的数组元素?这是数组结构contact: {     phone: [         {             number: "+1786543589455",             place: "New Jersey",             createdAt: ""         }         {             number: "+1986543589455",             place: "Houston",             createdAt: ""         }     ]}在这里,我只知道蒙戈的身份(_id)和电话号码(+1786543589455),我需要从文档中删除整个对应的数组元素。也就是说,电话数组中的零索引元素与电话号码匹配,需要删除相应的数组元素。contact: {     phone: [         {             number: "+1986543589455",             place: "Houston",             createdAt: ""         }     ]}我尝试使用以下更新方法collection.update(     { _id: id, 'contact.phone': '+1786543589455' },     { $unset: { 'contact.phone.$.number': '+1786543589455'} });但它消除了number:  +1786543589455从内部数组对象,而不是电话数组中的零索引元素。试着pull也没有成功。如何删除MongoDB中的数组元素?
查看完整描述

4 回答

?
茅侃侃

TA贡献1842条经验 获得超21个赞

您可以简单地使用$PULL来删除子文档。$PULL运算符从现有数组中移除与指定条件匹配的一个或多个值的所有实例。

Collection.update({
    _id: parentDocumentId  }, {
    $pull: {
      subDocument: {
        _id: SubDocumentId
      }
    }
  });

这将根据给定的ID查找父文档,然后从子文档中删除与给定条件匹配的元素。

阅读更多关于拉这里.


查看完整回答
反对 回复 2019-07-02
  • 4 回答
  • 0 关注
  • 4003 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信