Я пытаюсь создать функцию обновления в Serverless / DynamoDB / Node.JS
Из того, что я смог почерпнуть из документов и нескольких примеров, это должно сработать, и это сработает, если я попытаюсь обновить только один атрибут, т.е. только isFavorite или only 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 в таблице.