2016-05-25 6 views
0

お時間をいただきありがとうございます!PHP APIのDynamitebのupdateItem()のマップのキーにif_not_exists()を使用する方法

マップ:

国:{ スウェーデン:3、 米国:4、 英国:9 }

どのように私は、国の名前がマップ内に存在するかどうかを確認、もしことができませんでしたそれを作成してデフォルト値に設定します。たとえば、スペインが地図にない場合、if_not_exits()はどのように使用できますか?

文書には、この機能が記載されています。http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.Modifying.html

誰かがリストのためにif_not_exits()を適用したことがわかりました:Is it possible to combine if_not_exists and list_append in update_item。それでは地図の仕組みは?

あなたのお返事をお待ちしております、ありがとうございました!

は心から

答えて

0

私はマップのin_not_exitsを使用するための解決策が見つかりました:また

'ExpressionAttributeValues' => [ 
      ':val2' => ['N' => '9'] 

    ], 

    'UpdateExpression' => 'SET Country.Spain = if_not_exists(Country.Spain, :val2)' 

を、私はまた、溶液が最初にチェックし、それが存在しない場合、変更を行うことが見つかりました:

'ExpressionAttributeValues' => [ 
       ':val2' => ['N' => '9'], 
       ':val3' => ['N' => '1'] 

     ], 

     'UpdateExpression' => 'SET country_name.Sweden = if_not_exists(country_name.Sweden, :val2) + :val3 ' 
-1
<?php 
$Country= array("Sweden"=>3, "US"=>4, "UK"=>9); 
if(!array_key_exists("CN", $array)) 
{ 
    $Country['CN']=3; 
} 
?> 
+0

お返事ありがとうございます!しかし、私の問題は純粋なPHPの問題ではなく、Amazon-dynamodbのPHP SDKで発生しています。 – Spider

関連する問題