Как правило, вы можете выдвинуть в качестве первичного ключа пользователя email и сделать его ключом раздела.
Когда я столкнулся с той же проблемой, я сделал это, используя 2 таблицы:
В таблице 1 у меня были все пользовательские данные, например:
LICENSE_NUMBER, NAME, EMAIL, PASSWORD, ETC ... где "LICENSE_NUMBER" - это первичный ключ, который в основном используется для идентификации пользователя при необходимости.
... И у меня также была таблица 2 , имеющая следующие поля:
EMAIL, LICENSE_NUMBER, ETC ... где «EMAIL» используется для получения «LICENSE_NUMBER», когда пользователь входит в систему.
Окончательное рассмотрение:
Поскольку DynamoDB не разрешает операции JOIN, мне пришлось разделить две таблицы и эмулировать объединение, создавая две таблицы с одним первичным ключом в каждой, но привязанные к одним и тем же полям Email / Licence_number.
Надеюсь, это поможет вам при выборе правильного шаблона для построения пользовательской таблицы.