我有以下文件存储在mongo DB集合中,我将动态接收的网址被删除例如,我需要删除的名称“名称”的名称“名称”:"FNOL",“国家”:“美国”,"lob“:”属性“的订户的网址http://localhost.8080/FNOL/subscriber1。
如何使用mongo编写删除命令?
我需要重新定义文档结构吗?
提前谢谢。
{
"_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"
}
]
}
发布于 2018-05-30 00:10:46
您可以使用指定上述条件的$pull运算符来获取匹配的文档和url作为$pull
的参数,如下所示:
let urlToRemove = "http://localhost.8080/FNOL/subscriber1";
db.col.update(
{ name: "FNOL", country: "US", lob: "property" },
{ $pull: { subscribers: {url: urlToRemove }}})
https://stackoverflow.com/questions/50588457
复制相似问题