如何在 PHP API 的 Dynamodb 的 updateItem() 中使用 if_not_exists() 作为地图的键

how to use if_not_exists() for a key of a map in Dynamodb's updateItem() in PHP API

先谢谢你的时间!

地图:

Country:{
  Sweden: 3,
  US: 4,
  UK: 9
}

我如何检查地图中是否存在国家名称,如果不存在则创建它并将其设置为默认值。例如,西班牙不在地图中,我如何使用if_not_exits()?

文档在这里提到了这个函数:http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.Modifying.html .

我发现有人将 if_not_exits() 应用于列表:。那么它如何用于地图?

期待您的回复,非常感谢!

此致

<?php
$Country= array("Sweden"=>3, "US"=>4, "UK"=>9);
if(!array_key_exists("CN", $array))
{
    $Country['CN']=3;
}
?>

我找到了将 if_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 '