0

私は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 になります。しかし、null にならないように Education.content.1 を削除したいと思います。

どなたか解決策をご存じの方がいらっしゃればお願いします。前もって感謝します。

4

1 に答える 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)));
于 2012-11-28T07:35:14.770 に答える