不能使用UpdateItem从列表中删除元素
我试图从我的DynamoDB表中的ITEM
中删除一个LIST
元素。 我相信我有正确的设置,但似乎无法传递一个整数。
var params = { TableName: DB_TABLE_NAME, Key:{ "Key": KEY_VALUE }, UpdateExpression: "REMOVE List[:n]", ExpressionAttributeValues: { ":n": 1 }, ReturnValues:"UPDATED_NEW" };
然后,我运行UpdateItem函数,我用于其他用例。
db.update(params, (err, data) => { console.log(data); });
以下错误被返回
"message": "Invalid UpdateExpression: Syntax error; token: \":n\", near: \"[:n]\"",
当我删除ExpressionAttributeValues
并用值1(它引用一个现有的List元素)replace:n
,它成功执行。
我明显失去了一些东西,任何帮助将不胜感激,谢谢!
虽然(至less对于node.js)SDK不接受AttributeValues,但可以通过将该variables添加到UpdateExpressionstring来解决此问题。
UpdateExpression: "REMOVE List[" + listNumber + "]",