当前位置: 首页 > 知识库问答 >
问题:

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

程项禹
2023-03-14
contact: {
    phone: [
        {
            number: "+1786543589455",
            place: "New Jersey",
            createdAt: ""
        }
        {
            number: "+1986543589455",
            place: "Houston",
            createdAt: ""
        }

    ]
}
contact: {
    phone: [
        {
            number: "+1986543589455",
            place: "Houston",
            createdAt: ""
        }
    ]
}
collection.update(
    { _id: id, 'contact.phone': '+1786543589455' },
    { $unset: { 'contact.phone.$.number': '+1786543589455'} }
);

但是它从内部数组对象中移除编号:+1786543589455,而不是电话数组中的零索引元素。尝试使用pull也没有成功。

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

共有1个答案

乜胜泫
2023-03-14

尝试以下查询:

collection.update(
  { _id: id },
  { $pull: { 'contact.phone': { number: '+1786543589455' } } }
);

它将查找具有给定_id的文档,并从其contact.phone数组中删除phone+1786543589455

您可以使用$unset来取消数组中的值设置(将其设置为null),但不能完全删除它。

 类似资料:
  • 问题内容: 我有一个数组例如: 谁能告诉我如何从数组中删除一个元素。例如,我要删除项目“ b”,以使数组如下所示: 我找不到解决办法。到目前为止,我在这里发现的内容不适用于我:( 问题答案: 您不能从数组中删除元素。Java数组的大小是在分配数组时确定的,不能更改。您能做的最好的事情是: 在相关位置分配给数组;例如 这给您带来了处理值所在数组中的“孔”的问题。(在某些情况下,这不是问题……但是在大

  • 问题内容: 如何使用Apple的新语言Swift取消设置/删除数组中的元素? 这是一些代码: 如何从数组中删除元素? 问题答案: 该关键字是声明不能改变的常量。如果要修改变量,则应改用,例如: 一个使原始集合保持不变的非变异替代方法是用于创建一个新集合,而无需删除想要删除的元素,例如:

  • 我的mongo数据库中有: 我想从这个数组中删除on元素。我用的是golang和mgo。v2驱动程序,下面是我的代码: 它继续成功,但不删除项目时,我检查mongob。有人能告诉我我做错了什么吗?谢谢你们

  • 问题内容: 我想遍历一个数组,以检查是否存在一个值。如果该值确实存在,我想删除包含它的元素。 我有以下代码: 找到值后,我不知道如何删除该元素。如何删除? 我必须使用这个问题。可能有替代方法,欢迎您共享它们。 问题答案: 如果您还获得了密钥,则可以这样删除该项目:

  • 我想在创建以下2d阵列后删除一个元素。它应该是数组的最后一个元素。

  • 问题内容: var arr = [1,2,3,5,6]; 删除第一个元素 我想删除数组的第一个元素,使其变为: 删除第二个元素 扩展这个问题,如果我想删除数组的第二个元素以使其变为: 问题答案: 要获得更灵活的解决方案,请使用该功能。它允许您根据索引值删除数组中的任何项目: