-1
$StringJsonVariable = '{"data": {"Parent": { "abc": [{"value": "10","code": "c102"},{"value": "20","code": "c103" }]}}';
$JsonVariable = json_decode($StringJsonVariable,true);
$connection = new MongoClient();
$db = $connection -> dbvalue;
$collection = $db -> collVal;
foreach($JsonVariable['data']['Parent'] as $key => $value[0]){
$val=$value[0];
$collection->update(array('_id'=>"abc"),array('$addToSet' => array('VALUES' => array('$each' =>$val), array('upsert' => true))));}
試過使用addtoSet每個使用上面的語法。我想要插入
單個呼叫。如何使用phpMongo將整個Unique文檔插入到MongoDB中的數組中?
Upserts和添加值以陣列是基本上在單個操作中互相排斥,除非你的數據補充的是一個「真正的集合」,這是完全唯一的。你沒有說明你的實際問題是什麼,但我懷疑'$ addToSet'沒有做你想做的事,因爲只有一個字段被認爲是唯一的,而不是數組的所有內容。這裏有幾個答案(我知道,因爲我已經寫了幾個),基本上說,如果你想要不是所有屬性的獨特元素,那麼你需要多個操作。批量操作提供一個請求,但不是一個操作。 –