删除mongo中嵌套元素的索引

时间:2012-11-28 07:27:28

标签: php mongodb

我在mongoDb中有一个集合。它类似于以下内容。

array(
    '_id' => new MongoId("50b35d1217ce10ac1000000f")
    'Education' => 
      array (
        'content' => 
        array (
          '0' => 
          array (
            'Organization' => 'SUST',
            'Degree' => 'BSC',
            'Department' => '',
            'Location' => 'Dhaka',
            'Session' => '2 Years',
          ),
          '1' => 
          array (
            'Organization' => 'DU',
            'Degree' => 'BSC',
            'Department' => '',
            'Location' => 'Dhaka',
            'Session' => '2 Years',
          )    
        ),
        'sharing' => 'public',
      ),
)

我想从集合中删除Education.content.1。

所以我用了
update(array('_id' => new MongoId('50b35d1217ce10ac1000000f')), array('$unset' => array('Education.content.1' => 1)));

因此,Education.content.1变为null。 但我希望删除Education.content.1不能为空。

如果有人知道解决方案,请帮助我。提前谢谢。

1 个答案:

答案 0 :(得分:1)

$pull之后使用$unset

update(array('_id' => new MongoId('50b35d1217ce10ac1000000f')), 
array('$unset' => array('Education.content.1' => 1)));
update(array('_id' => new MongoId('50b35d1217ce10ac1000000f')), 
array('$pull' => array('Education.content' => null)));