2016-09-07 38 views
0

我正在使用jenssegers mongodb軟件包。如何使用laravel去除mongodb中的子鍵

這是我收藏

DB::connection('mongodb')->collection('users')->insertGetId(array('name' => 'John Doe', 'users' => [ 
      [ 
       'id' => 100, 
       'wallet'=>20.20 
      ], 
      [ 
       'id' => 101, 
       'wallet'=>10.66 
      ] 
     ])); 

我試圖刪除特定wallet記錄。以下是密碼

DB::connection('mongodb')->collection('users')->where('name', 'John Doe')->where('users.id',100)->unset('users.wallet'); 

但它沒有按預期工作。我怎樣才能做到這一點?

+0

這是什麼意思,它沒有按預期工作?怎麼了? –

+0

它沒有刪除'wallet'鍵 – Mifas

回答

0

要你有一個子文檔陣列取消設置一個字段寫的users.$.wallet代替users.wallet

DB::connection('mongodb')->collection('users')->where('name', 'John Doe')->where('users.id',100)->unset('users.$.wallet'); 

看一看的official unset documentation of mongodb。在章節行爲中,$ - 符號將被解釋。