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

是否从MongoDB中的数组中删除一个元素?[副本]

葛航
2023-03-14

我在mongo DB集合中存储了以下文档,我将动态接收要删除的url,例如,我需要删除订阅者的urlhttp://localhost.8080/FNOL/subscriber1对于文件中的“名称”:“FNOL”,“国家”:“美国”,“lob”:“财产”。

如何使用mongo编写remove命令?

我需要重新定义我的文档结构吗?

提前感谢。

{
        "_id" : ObjectId("5b07fbbc0d7a677d2f8b2d87"),
        "name" : "FNOL",
        "country" : "US",
        "lob" : "property",
        "subscribers" : [
                {
                        "protocol" : "REST",
                        "url" : "http://localhost.8080/FNOL/subscriber1"
                },
                {
                        "protocol" : "SOAP",
                        "url" : "http://localhost.8080/FNOL/subscriber2"
                },
                {
                        "protocol" : "JMS",
                        "url" : "NOTIFICATION.TOPIC.FNOL"
                }
        ]
}

移除后:

{
            "_id" : ObjectId("5b07fbbc0d7a677d2f8b2d87"),
            "name" : "FNOL",
            "country" : "US",
            "lob" : "property",
            "subscribers" : [

                    {
                            "protocol" : "SOAP",
                            "url" : "http://localhost.8080/FNOL/subscriber2"
                    },
                    {
                            "protocol" : "JMS",
                            "url" : "NOTIFICATION.TOPIC.FNOL"
                    }
            ]
    }

共有1个答案

东郭承业
2023-03-14

您可以使用$pull运算符指定所述条件,以获取匹配的文档和url,作为$pull的参数,如下所示:

let urlToRemove = "http://localhost.8080/FNOL/subscriber1";
db.col.update(
    { name: "FNOL", country: "US", lob: "property" }, 
    { $pull: { subscribers: {url: urlToRemove }}})
 类似资料:
  • 问题内容: 说我有这些二维数组A和B。 如何从B中删除A中的元素。(集合论中的补语:AB) 更准确地说,我想做这样的事情。 问题答案: 基于this solution对,这里是用更少的内存占用与NumPy基础的解决方案,并与大型阵列工作时,可能是有益的- 样品运行- 在大型阵列上的运行时测试- 具有基础解决方案的时间- 基于更少内存占用量的定时解决方案- 进一步提升性能 通过将每一行视为索引元组来

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

  • 给定下面的代码: HTML: 断续器 我必须使用此代码才能删除元素吗?它似乎太冗长了。

  • 我已经搜索了一整天,想知道如何对集合中文档中的一个元素进行简单的删除。我对mongo脚本相当陌生,所以请容忍我。 我当前正在使用此脚本查看某个文档: 这是文档执行后在Robo3T中显示的内容: 我只是想从AppID中删除“rpt”。到目前为止,我已经尝试过了,但它不起作用: 有什么文件能给我指明正确的方向吗? 谢谢

  • 问题内容: 有没有一种简单的方法可以使用PHP从数组中删除元素,从而不再包含该元素? 我以为将它设置为可以实现,但是显然不起作用。 问题答案: 有多种删除数组元素的方法,其中某些方法对某些特定任务比其他任务更有用。 如果只想删除一个数组元素,则可以使用或。 另外,如果您具有值并且不知道要删除元素的键,则可以使用该键来获取键。 请注意,使用数组键时不会更改/重新索引。如果要重新索引键,则可以使用它,

  • 问题内容: 有什么快速(好看的)方法可以从Java中的数组中删除元素? 问题答案: 你可以使用的。