Удаление элемента списка из DynamoDB

#javascript #amazon-dynamodb

#javascript #amazon-dynamodb

Вопрос:

Необходимо удалить элемент списка из базы данных DynamoDB в приложении react, используя его индекс.

Следуя примеру в https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GettingStarted.Js.03.html , Обновить элемент (условно)

Выражение обновления для удаления элемента

 UpdateExpression: "remove info.actors[0]",
 

Что такое выражение обновления, когда значение индекса является параметром функции?

Комментарии:

1. Если вы просто хотите использовать параметр вместо жестко заданного нуля, есть ли причина, по которой вы не можете просто построить строку с индексом? например. «Удалить info.actors[» index «]»

Ответ №1:

Единственный способ сделать это — просто создать UpdateExpression строку с соответствующим номером в ней. Как предложил LazyElephant в комментарии: "Remove info.actors[" index "]" .

Вы можете подумать , что также должна быть возможность написать remove info.actors[:i] , где :i определено в ExpressionAttributeValues . Но, к сожалению, это не работает. DynamoDB отклоняет это как синтаксическую ошибку. Я не могу сказать, что понимаю, почему.