繁体   English   中英

在所有集合中查找值,然后在mongodb中删除该值

[英]Finding for a value in all collections and deleting that value in mongodb

我有几个收藏集1:

{
Pid: 111,
Flag: true,
Uploaded: [
    { 
         Name: "abc"
     },
    {
         Name: "def"
     },
    {
         Name: "gig"
     }
]
}

Collection2:

{
Pid: 113,
Flag: false,
Uploaded: [
    { 
         Name: "abc"
     },
    {
         Name: "hjk "
     },
    {
         Name: "xyz"
     }
]
}

Collection3:

{
Pid: 114,
Flag: true,
Uploaded: [
    { 
         Name: "money"
     },
    {
         Name: "GUI"
     },
    {
         Name: "abc"
     }
]
}

我想查找所有具有uploaded.name ="abc"的集合,并只想删除该集合的特定数组。

输出应为:

Collection1:

{
Pid: 111,
flag: true,
Uploaded: [
    {
         Name: "def"
     },
    {
         Name: "gig"
     }
]
}

Collection2:

{
Pid: 113,
Flag: false,
Uploaded: [
    {
         Name: "hjk "
     },
    {
         Name: "xyz"
     }
]
}

Collection3:

{
Pid: 114,
Flag: true,
Uploaded: [
    { 
         Name: "money"
     },
    {
         Name: "GUI"
     }
]
}

您将要使用$pull更新参数

看起来像

db.myCollection.update({$in: {Uploaded: {Name: "abc"}}}, {$pull: {Uploaded: {Name: "abc"}}}, {multi: true})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM