Я пытаюсь обновить атрибут пользовательских объектов, который может не существовать.
Атрибут называется 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
, но я не могу заставить его работать. Как я могу изменить параметры, чтобы получить желаемый эффект?