我正在尝试在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属性。