Я пытаюсь смоделировать следующие отношения в одной таблице Dynamodb.
Пользователь -> многие ко многим -> Игра
Пользователь -> многие ко многим -> Группа
На словах:
- Пользователь может иметь много игр, а несколько пользователей могут иметь одну и ту же игру
- Пользователь может быть во многих группах, а группа состоит из множества пользователей
Я определил следующие шаблоны доступа:
- Список всех игр, которыми владеет пользователь
- Список всех групп, в которые входит пользователь
- Список всех членов группы
- Список всех игр, принадлежащих членам группы
Первые три шаблона доступа могут быть реализованы с использованием шаблона проектирования соседнего списка, как показано ниже:
| Partition Key | Sort Key (GSI Partition Key) |
| ------------- | ----------------------------- |
| User-<ID> | Game-<ID> |
| User-<ID> | Group-<ID> |
Любые рекомендации о том, как реализовать последний шаблон доступа - перечислить все игры, принадлежащие членам группы?
Спасибо.