Как получить все записи с хэш-ключом в качестве конкретного шаблона в динамической БД?

Я новичок в веб-сервисах Amazon. Я хочу получить все записи в таблице БД динамо, которые имеют определенное слово в своем хэш-ключе. Это похоже на использование оператора like в oracle DB. Как мне это сделать? Если это невозможно, как я могу получить все записи в таблице без каких-либо ограничений на хеш-ключ, чтобы позже я мог перебрать все из них, чтобы соответствовать слову?

1 ответ

Общие соображения DynamoDB:

Пожалуйста, не думайте о DynamoDB как о MySQL. DynamoDB - это всего лишь хранилище ключей и ценностей с парочкой тонкостей.

Основой хранилища ключей: значений является:

Либо вы знаете ключ, и получите свою ценность;

Либо нет, и вы получаете весь стол.

В конкретном случае DynamoDB вы можете

  1. Получить предмет, зная весь ключ с GetItem
  2. Получить все предметы под данным hash_key возможно применяя фильтр, с Query
  3. Получить всю таблицу, возможно применяя фильтры, с Scan

Это сказал, Scan это и медленно и дорого. Никогда не используйте его, иначе ваш дизайн, скорее всего, ошибочен.

Специфично для вашего вопроса:

В вашем случае звучит так, как будто вы захотите разделить свой ключ на

  • hash_key
  • range_key

Тогда вы могли бы использовать Query чтобы получить все пункты обмена hash_key, С Query Вы можете применить фильтры как BEGINS_WITH чтобы сузить вашу сферу.

Обратите внимание, что все (hash_key, range_key) кортежи должны быть уникальными.

Другие вопросы по тегам