gpt4 book ai didi

amazon-dynamodb - DynamoDB 更新错误无效的 UpdateExpression : An expression attribute value used in expression is not defined

转载 作者:行者123 更新时间:2023-12-03 22:41:37 25 4
gpt4 key购买 nike

我正在尝试对 DynamoDB 表执行更新。

代码是(Node.js):

    let params = {
TableName: Organizations.Table,
Key: {
'ID': event.ID
},
UpdateExpression: 'SET #OrgName = :org, #Description = :desc',
ExpressionAttributeNames: {
'#OrgName': 'OrgName',
'#Description': 'Description'
},
ExpressionAtributeValues: {
':org': event.OrgName,
':desc': event.Description
},
ReturnValues: 'UPDATED_NEW'
};
this.docClient.update(params, (err, data) => {
if (err) {
return cb(err);
}
return cb(null, data);
});

事件对象具有所需的所有属性。

执行后我得到一个错误:

Invalid UpdateExpression: An expression attribute value used in expression is not defined; attribute value: :desc



我只是按照 DynamoDB 文档中的示例进行操作。
当我更改设置值的顺序时,例如至 SET #Description = :desc, #OrgName = :org我得到的错误是关于属性值 :org .我还尝试明确指定表达式属性值,但没有帮助。

我不明白出了什么问题。

有人能帮我吗?

最佳答案

ExpressionAtributeValues 中存在拼写错误(即't'缺失)导致问题。

请尝试以下。它应该工作。

UpdateExpression : "SET #OrgName = :org, #Description = :desc",
ExpressionAttributeNames: {
'#OrgName' : 'OrgName',
'#Description' : 'Description'
},
ExpressionAttributeValues: {':org' : 'new org value',
':desc' : 'new desc value'
},
ReturnValues: 'UPDATED_NEW'

关于amazon-dynamodb - DynamoDB 更新错误无效的 UpdateExpression : An expression attribute value used in expression is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39833163/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com