首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >是否从MongoDB中的数组中删除一个元素?

是否从MongoDB中的数组中删除一个元素?
EN

Stack Overflow用户
提问于 2018-05-29 23:56:36
回答 1查看 75关注 0票数 -1

我有以下文件存储在mongo DB集合中,我将动态接收的网址被删除例如,我需要删除的名称“名称”的名称“名称”:"FNOL",“国家”:“美国”,"lob“:”属性“的订户的网址http://localhost.8080/FNOL/subscriber1

如何使用mongo编写删除命令?

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

提前谢谢。

代码语言:javascript
复制
{
        "_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"
                }
        ]
}

删除后:

代码语言:javascript
复制
{
            "_id" : ObjectId("5b07fbbc0d7a677d2f8b2d87"),
            "name" : "FNOL",
            "country" : "US",
            "lob" : "property",
            "subscribers" : [

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

回答 1

Stack Overflow用户

发布于 2018-05-30 00:10:46

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

代码语言:javascript
复制
let urlToRemove = "http://localhost.8080/FNOL/subscriber1";
db.col.update(
    { name: "FNOL", country: "US", lob: "property" }, 
    { $pull: { subscribers: {url: urlToRemove }}})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50588457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档