2017-06-03 67 views
0

我使用Laravel與MongoDB中,我有表結構如下,如何用laravel刪除mongodb中的嵌套列?

{ 
    "_id" : ObjectId("59323b092798db16b4006e33"), 
    "contractorId" : "KT0004", 
    "worktypeId" : 1, 
    "contractorDetails" : [ 
     [ 
     "KT0004", 
     1, 
     "Air Conditioning", 
     "Salim" 
     ], 
     [ 
     "KT0001", 
     2, 
     "Carpentry", 
     "Ashok kumar" 
     ] 
    ] 
    } 

我需要從「ContractorDetails」欄中刪除第一個元素,我試圖與Laravel刪除,取消設置,銷燬,但我沒有得到解決方案,有人建議我請他?

回答

0

根據上述描述,請嘗試執行MongoDB中以下更新操作外殼

db.collection.update({},{$unset:{'contractorDetails.0':1}}) 

據MongoDB的文檔

的$取消設置操作刪除某一特定領域

+0

我可以在Laravel中執行此操作嗎? –

0

如果你正在爲Laravel使用jenssegers的mongodb庫(https://github.com/jenssegers/laravel-mongodb),那麼你可以pull該項目從數組中刪除:

DB::collection('coll')->where('contractorId', 'KT0004')->pull('contractorDetails', $item); 

您可能需要先拿到該項目,因爲它是不支持位置的除去。