我正在尝试更新可能不存在的用户对象属性。
该属性称为claimed
,该属性本身将具有每种货币类型#c1
(美元,欧元等)的属性。用户可以有多种货币,但不能以多种货币开头,因此claimed
可以存在或可以不存在于用户对象上。
我的初稿是:
let params = {
TableName: 'myproject-user',
Key: {"id":req.user.sub},
UpdateExpression: 'set claimed.#c1 = :o',
ExpressionAttributeValues:{
":o": req.body.currency
},
ExpressionAttributeNames:{ "#c1": req.body.currency.type },
ReturnValues:"UPDATED_NEW"
};
这将返回错误:
"Error: ValidationException: The document path provided in the update expression is invalid for update"
我尝试使用if_not_exists
进行了一些变体,但似乎无法正常工作。如何修改参数以达到预期效果?