Amazon dynamodb Dynamodb基于另一个更新属性

Amazon dynamodb Dynamodb基于另一个更新属性,amazon-dynamodb,updates,Amazon Dynamodb,Updates,我想更新Dynamodb中的一个项,以便根据该项中现有属性的值设置一个属性的值。例如:我有一个带有以下项的表{“id”:1,“valueone”:30} 我想更新此项,以便可以添加另一个属性valuetwo,其值是valueone的两倍:{“id”:1,“valueone”:30,“valuetwo”:60} 类似这样,但不确定如何在表达式属性值中表示valueone: table.update_item(Key={'id': 1}, UpdateExpression="set vtwo = :

我想更新Dynamodb中的一个项,以便根据该项中现有属性的值设置一个属性的值。例如:我有一个带有以下项的表
{“id”:1,“valueone”:30}

我想更新此项,以便可以添加另一个属性
valuetwo
,其值是
valueone
的两倍:
{“id”:1,“valueone”:30,“valuetwo”:60}

类似这样,但不确定如何在表达式属性值中表示
valueone

table.update_item(Key={'id': 1}, UpdateExpression="set vtwo = :two * :r", ExpressionAttributeValues={':r': valueone, ':two': 2},ReturnValues="ALL_NEW"))

我可以控制
valuetwo
是项中的一个新属性,还是已经存在一个伪值(比如零)。

目前,DynamoDB不支持中的“*-乘(或)/-除”算术运算符
UpdateExpression

它只支持加法(+)和减法(-)运算符

添加:-

UpdateExpression : "SET total_new_val = total_val + :value",
UpdateExpression : "SET total_new_val = total_val - :value",
UpdateExpression : "SET total_new_val = total_val * :value",    
减法:-

UpdateExpression : "SET total_new_val = total_val + :value",
UpdateExpression : "SET total_new_val = total_val - :value",
UpdateExpression : "SET total_new_val = total_val * :value",    
乘法:-

UpdateExpression : "SET total_new_val = total_val + :value",
UpdateExpression : "SET total_new_val = total_val - :value",
UpdateExpression : "SET total_new_val = total_val * :value",    
乘法抛出以下错误:-

Unable to update item. Error JSON: {
  "message": "Invalid UpdateExpression: Syntax error; token: \"*\", near: \"tota
l_val * :value\"",
  "code": "ValidationException",
  "time": "2017-02-07T11:32:41.478Z",
  "requestId": "64f36024-7251-40af-98ee-e9cef854e94b",
  "statusCode": 400,
  "retryable": false,
  "retryDelay": 0
}

有没有一种方法可以通过如下操作绕过此约束:
table.update_item(Key={'id':1},UpdateExpression=“set vtwo=:r”,expressionAttributeValue={':r':valueone*2},ReturnValues=“ALL_NEW”)