2017-06-03 4 views
0

私はMongoDBのでLaravelを使用しています、私は、次のように私は「ContractorDetails」欄から最初の要素を削除する必要がlongvelを使ってmongodbのネストされた列を削除するには?

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

をテーブルの構造を持って、私は破壊し、設定解除を削除Laravelてみましたが、私解決策を得ていない、誰も私にplsを提案する?

答えて

0

は、上記の説明によるMongoDBの中に、次の更新操作はMongoDBのドキュメントによると

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

シェル実行してみてください

$解除オペレータは、特定のフィールドを削除し

+0

Laravelでこれを実装できますか? –

0

の場合japansegersのmongodbライブラリをLaravel(https://github.com/jenssegers/laravel-mongodb)に使用している場合は、pullその配列から削除するアイテム:

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

それが位置によって削除はサポートされていませんされてあなたは、まずその項目を取得する必要があるかもしれません。

関連する問題