2016-12-30 30 views
1

您好我是新來的MongoDB添加陣列中的mongodb我的數據做 我的問題是追加MongoDB中的數據陣列我想在laravel

我的陣列

{ 
    "_id" : ObjectId("5864f61111115810fc011111"), 
    "estimate" : { 
     "estimate_id" : 1122332, 
     "source_data" : { 
      "1" : { 
       "test":"test" 
      } 
     } 
    }, 
    "updated_at" : ISODate("1970-01-15T10:47:01.399Z"), 
    "created_at" : ISODate("1970-01-15T10:41:56.623Z") 
} 

我想在source_data添加陣列狀波紋管

{ 
    "_id" : ObjectId("5864f61111115810fc011111"), 
    "estimate" : { 
     "estimate_id" : 1122332, 
     "source_data" : { 
      "1" : { 
       "name":"nikhil" 
      }, 
      "2" : { 
       "name":"nikhil" 
      } 
     } 
    }, 
    "updated_at" : ISODate("1970-01-15T10:47:01.399Z"), 
    "created_at" : ISODate("1970-01-15T10:41:56.623Z") 
} 

我曾嘗試下面的代碼,但不工作

$data = array("2"=>array("name":"nikhil")); 
$sourcing = Sourcing::find('5864f61111115810fc011111');//return mongo data 
$sourcing->put('estimate.source_data.2',$data); 

回答

1

要將一個或多個值附加到一個數組,它使用push()方法以下應爲你工作:

$data = array('name' => 'nikhil'); 
Sourcing::find('5864f61111115810fc011111')->push('estimate.source_data', $data);