2016-04-04 7 views
0
update(array("loc1"=>$locations[0]),array('$set'=>(object)array("Users"=>(array("user_id"=>$user_id,"user_name"=>$Email))))); 

は、私がここでphpを使ってmongodbに配列を挿入するには?

{ 
"_id" : ObjectId("5702cfd2c693b54008000035"), 
"loc1" : "Anapara", 
"loc2" : "Puthucurichy", 
"loc3" : "Kadinamkulam", 
"loc4" : "Kerala", 
"loc5" : "India", 
"Users" : { 
    "user_id" : ObjectId("5702cfd2c693b54008000034"), 
    "user_name" : "[email protected]" 
} 

}

の下に示し、実行した後、私はMongoDBの中で結果を得た、配列のユーザーにuser_idを挿入するために上記のコードを書いたキーワードユーザー、配列になっていません私はこの形式(角括弧内のユーザーの値)でそれをしたい意味:

"Users" :[ { 
       "user_id" : ObjectId("5702cfd2c693b54008000034"), 
       "user_name" : "[email protected]"} 
      ] 

iは、Vを置くために私のPHPコードには何の変更を行う必要があります角括弧で表示されますか?

+0

あなたはオブジェクトに型キャストしていますか? – Isaiah4110

答えて

0

連続した番号(リスト)でインデックスされた配列を使用すると、PHPからBSON配列([ ... ])を保存できます。したがって、あなたのコードは、(私はそれをよりよく説明するために読みやすいようにする必要があります):

update(
    array("loc1" => $locations[0]), 
    array('$set' => array(
     "Users"=> array(// this makes Users a list 
      array("user_id"=>$user_id,"user_name"=>$Email) // this is your embedded object 
      // here could go another embedded object separated by a comma 
     ) 
    )) 
); 
+0

ありがとうございます –

関連する問題