如何在 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 '
先谢谢你的时间!
地图:
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 '