Как получить все записи с хэш-ключом в качестве конкретного шаблона в динамической БД?
Я новичок в веб-сервисах Amazon. Я хочу получить все записи в таблице БД динамо, которые имеют определенное слово в своем хэш-ключе. Это похоже на использование оператора like в oracle DB. Как мне это сделать? Если это невозможно, как я могу получить все записи в таблице без каких-либо ограничений на хеш-ключ, чтобы позже я мог перебрать все из них, чтобы соответствовать слову?
1 ответ
Общие соображения DynamoDB:
Пожалуйста, не думайте о DynamoDB как о MySQL. DynamoDB - это всего лишь хранилище ключей и ценностей с парочкой тонкостей.
Основой хранилища ключей: значений является:
Либо вы знаете ключ, и получите свою ценность;
Либо нет, и вы получаете весь стол.
В конкретном случае DynamoDB вы можете
- Получить предмет, зная весь ключ с
GetItem
- Получить все предметы под данным
hash_key
возможно применяя фильтр, сQuery
- Получить всю таблицу, возможно применяя фильтры, с
Scan
Это сказал, Scan
это и медленно и дорого. Никогда не используйте его, иначе ваш дизайн, скорее всего, ошибочен.
Специфично для вашего вопроса:
В вашем случае звучит так, как будто вы захотите разделить свой ключ на
hash_key
range_key
Тогда вы могли бы использовать Query
чтобы получить все пункты обмена hash_key
, С Query
Вы можете применить фильтры как BEGINS_WITH
чтобы сузить вашу сферу.
Обратите внимание, что все (hash_key
, range_key
) кортежи должны быть уникальными.