【问题标题】:Finding for a value in all collections and deleting that value in mongodb在所有集合中查找一个值并在 mongodb 中删除该值
【发布时间】:2017-07-14 21:35:23
【问题描述】:

我的收藏很少 收藏一:

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

集合2:

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

集合3:

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

我想找到所有具有uploaded.name ="abc" 的集合,并且只想删除该集合的上传数组的特定对象。

输出应该是:

集合1:

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

集合2:

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

集合3:

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

【问题讨论】:

    标签: mongodb


    【解决方案1】:

    您将要使用 $pull 更新参数

    它看起来像

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

    【讨论】:

      猜你喜欢
      • 2012-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-03
      • 2021-08-01
      相关资源
      最近更新 更多