Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从MongoDB中删除子文档_Php_Mongodb - Fatal编程技术网

Php 从MongoDB中删除子文档

Php 从MongoDB中删除子文档,php,mongodb,Php,Mongodb,我的mongoDB子文档结构如下所示 { "basecampaign" : [ { "timestamp" : "2014-07-28 08:09:22", "latest" : 0, "campaign" : [ { "id" : "1", "name" : "sta

我的mongoDB子文档结构如下所示

{
 "basecampaign" : 
        [ 
     {     
         "timestamp" : "2014-07-28 08:09:22",  
          "latest" : 0,  
         "campaign" :
                   [ {     
                  "id" : "1",  
                  "name" : "status camp 1" 
                   } ]
    },
         {     
         "timestamp" : "2014-07-29 08:09:22",  
          "latest" : 0,  
         "campaign" :
                   [ {     
                  "id" : "2",  
                  "name" : "status camp 2" 
                   } ]
    },

         {     
         "timestamp" : "2014-07-30 08:09:22",  
          "latest" : 1,  
         "campaign" :
                   [ {     
                  "id" : "3",  
                  "name" : "status camp 3" 
                   } ]
    } 
       ]

}
我想使用id删除子文档,我想删除id=3的块

{     
    "timestamp" : "2014-07-30 08:09:22",  
    "latest" : 1,  
    "campaign" :
           [ {     
          "id" : "3",  
          "name" : "status camp 3" 
           } ]
}
我怎样才能得到这个建议

您可以使用。例如:

db.collection.update({},
                     {$pull:{basecampaign: {campaign.id:3}}},
                     {multi: true})
从所有文档中删除具有
campaign
id
3的
basecampaign
文档

或者,如果您只想删除活动块(您的问题不清楚)

从所选partent文档中的所有BaseAmpaign文档中移除id为3的活动块

db.collection.update({parent document select},
                     {$pull:{basecampaign.campaign: {id:3}}})