我想更新 Dynamodb 中的一项,以便可以根据该项中现有属性的值设置一个属性的值。例如:我有包含以下项目的表{"id": 1, "valueone": 30}。
我想更新此项目,以便我可以添加另一个属性valuetwo,其值是以下值的两倍valueone:{"id": 1, "valueone": 30, "valuetwo": 60}
像这样的东西,但不确定如何valueone在 ExpressionAttributeValues 中表示:
table.update_item(Key={'id': 1}, UpdateExpression="set vtwo = :two * :r", ExpressionAttributeValues={':r': valueone, ':two': 2},ReturnValues="ALL_NEW"))
Run Code Online (Sandbox Code Playgroud)
我可以控制valuetwo项目中是否是新属性,或者是否已经存在具有虚拟值(例如零)。