更新DynamoDb时出现问题:“无效的UpdateExpression:未定义在表达式中使用的表达式属性值;属性值:: lastUpdated”

时间:2019-06-25 18:08:24

标签: amazon-dynamodb aws-serverless

我正在尝试在Serverless / DynamoDB / Node.JS中创建更新功能

从我能够从文档和几个示例中收集到的信息来看,这应该可以工作,并且如果我仅尝试更新一个属性(即,仅isFavorite或仅lastUpdated),此方法就可以工作。

export const likeMediaActivity = async (
  mediaId: string,
  userId: string,
  isFavorite: boolean,
  lastUpdated: () => string
) => {
  const params = {
    TableName: MEDIA_ACTIVITY_TABLE,
    Key: {
      mediaId,
      userId,
    },
    UpdateExpression: 'SET isFavorite = :isFavorite, lastUpdated = :lastUpdated',
    ExpressionAttributeValues: {
      ':isFavorite': isFavorite,
      ':lastUpdated': lastUpdated,
    },
    ReturnValues: 'ALL_NEW',
  };

  return await dynamoDb.update(params).promise();
};

实际:尝试更新多个值时出现以下错误:“错误”:“无效的UpdateExpression:未定义表达式中使用的表达式属性值;属性值:: lastUpdated”

预期:应同时更新表中的isFavorite和lastUpdated属性。

0 个答案:

没有答案