Ошибка обновления DynamoDb: «Неверное выражение UpdateExpression: значение атрибута выражения, используемое в выражении, не определено; значение атрибута:: lastUpdated» - PullRequest
0 голосов
/ 25 июня 2019

Я пытаюсь создать функцию обновления в 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 в таблице.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...