Удаление элемента в динамо-базе данных с дополнительными данными
Ребята, я вроде новичок в динамо БД. Я работаю над демонстрационным проектом, в котором я использую динамо в качестве своей базы данных. и я использую Vogel в качестве картографа данных.
Теперь я просматривал документацию по vogel, и там было написано, что если мне нужно удалить, мне нужно было предоставить ключ хеша, и если я указал ключ диапазона, то это должно быть также предоставлено.
например, если у меня есть хеш-ключ, скажем, id, тогда при удалении мне нужно предоставить этот идентификатор, а если у меня есть ключ диапазона, скажем, id пользователя, то это также необходимо при удалении элемента. Удалить документацию в Vogel => Удаление в Vogel
Теперь мой вопрос, если мне нужно удалить элемент на основе чего-то, что не является ни хеш-ключом, ни ключом диапазона, например, у нас есть требование, что нам нужно удалить все сообщения пользователя, статус аккаунта которого удален, где атрибут статуса не является ни хеш-ключом, ни ключом диапазона. Как мне этого добиться? Спасибо
1 ответ
Согласно дизайну DynamoDB, элемент обновления и удаления должен иметь ключ хеша и ключ диапазона (если доступно). Элемент удаления не может быть выполнен без ключевых атрибутов.
В приведенном выше случае это должно быть сделано в два этапа.
1) Сканирование / запрос таблицы для получения требуемых значений ключа
2) Выполните удаление, используя ключевые значения. ConditionExpression может использоваться для предоставления дополнительного условия, если требуется.
ConditionExpression - Условие, которое должно быть выполнено, чтобы условный DeleteItem был успешным.