更新dynamodb中的列表元素

时间:2016-04-22 17:04:50

标签: amazon-web-services amazon-dynamodb

我有一个地图列表作为DynamoDB表的一个字段。如何更新特定元素(或者更确切地说是元素字段?) 尝试类似

的东西
rc = table.update_item(Key={ 'username' : user }, 
    UpdateExpression="set list[:i].field = :nd",
    ExpressionAttributeValues={
        ':i' : itemnum,
        ':nd': data,
    },
    ReturnValues="UPDATED_NEW"
);

但是我收到了一个错误:

Invalid UpdateExpression: Syntax error; token: ":i", near: "[:i]"

任何想法如何引用具有可变数字的列表元素。感谢。

1 个答案:

答案 0 :(得分:5)

改为使用文字:

rc = table.update_item(Key={ 'username' : user }, 
    UpdateExpression="set list[" + itemnum + "].field = :nd",
    ExpressionAttributeValues={
        ':nd': data,
    },
    ReturnValues="UPDATED_NEW"
);