У меня есть приложение, которое содержит такие объекты, как «каталоги», «коллекции» и т. Д. Я хотел бы смоделировать отношения между объектами с помощью тегов.Так, например, у меня может быть каталог продаж и коллекция продаж.Я бы знал, что оба объекта связаны, потому что они оба имеют один и тот же тег: «продажи».
Вот запросы, которые мне нужно сделать:
1) Получить все объекты определенного типа, т.е.catalogs
2) Получить сущность по идентификатору
3) Получить все сущности с определенным тегом
4) Запросить список сущностей по определенному тегу и получить остальныетеги, связанные с этим объектом.
Мне интересно, как смоделировать это в DB Dynamo
Сначала я подумал, что смогу сделать это:
PK = entityType_id (e.g. catalog_1)
SK = Tag (e.g. sales)
Проблема в том, что я не могу получить всесущности определенного типа.(1)
Я подумал, может быть, я смогу сделать это:
PK = entityType (e.g. catalog)
SK = id_tag (e.g. 1_sales)
Я мог бы выполнить: 1,2 выше, используя BeginsWith и EndsWith на SK, и 3, используя GSI, где тег типаПК, но не смог выполнить 4.
В будущем я также хотел бы иметь возможность выполнять запросы по типу тега.Я не понимаю, как все это возможно в одной таблице, как рекомендует Amazon или без использования СУБД.
Я бы очень признателен за любой вклад или направление, которое я могу получить.
Спасибо!