如果不存在DynamoDB属性,请在node.js

时间:2019-10-12 16:53:54

标签: amazon-dynamodb

我正在尝试更新可能不存在的用户对象属性。

该属性称为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进行了一些变体,但似乎无法正常工作。如何修改参数以达到预期效果?

0 个答案:

没有答案