我有一个地图列表作为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]"
任何想法如何引用具有可变数字的列表元素。感谢。
答案 0 :(得分:5)
改为使用文字:
rc = table.update_item(Key={ 'username' : user },
UpdateExpression="set list[" + itemnum + "].field = :nd",
ExpressionAttributeValues={
':nd': data,
},
ReturnValues="UPDATED_NEW"
);