2012-11-28 73 views
0

我在mongoDb中有一個集合。它類似於以下內容。在mongo中刪除嵌套元素的索引

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變空。 但我想將Education.content.1刪除爲空。

如果有人知道解決方案,請幫助我。提前致謝。

回答

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)));