DynamoDB, если атрибут не существует, создайте его в файле node.js - PullRequest
2 голосов
/ 12 октября 2019

Я пытаюсь обновить атрибут пользовательских объектов, который может не существовать.

Атрибут называется claimed, который сам будет иметь свойство для каждого типа валюты #c1 (USD, евро, т. Д. ). У пользователя может быть несколько валют, но он начинается с нуля, поэтому 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, но я не могу заставить его работать. Как я могу изменить параметры, чтобы получить желаемый эффект?

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