#amazon-dynamodb #dynamodb-queries
#amazon-dynamodb #dynamodb-запросы
Вопрос:
Я хочу сохранить пользователя в DynamoDB. У него есть идентификатор, адрес электронной почты и хэш пароля.
И идентификатор, и адрес электронной почты будут уникальными. Я хочу иметь возможность искать объект user, используя либо идентификатор, либо адрес электронной почты.
Как мне создать эту таблицу и запросить / получить объект пользователя только с идентификатором, а затем снова только с электронной почтой?
Комментарии:
1. Создайте глобальный вторичный индекс с электронной почтой в качестве PK
Ответ №1:
Вы описываете два шаблона доступа
- Запрос пользователя по электронной почте
- Выборка пользователя по идентификатору
Вы могли бы поддерживать эти шаблоны доступа, создав первичный ключ email
в своей базовой таблице и глобальный вторичный индекс (GSI) для идентификатора пользователя (или наоборот). Важным моментом является то, что атрибуты, по которым вы хотите выполнить поиск, встроены в ваш первичный ключ. Это позволит вам выполнить быструю query
операцию для обоих ваших шаблонов доступа.