Folks, Учитывая мы должны хранить следующую корзину данные:модель данных DynamoDB вторичного индекс поиск
userID1 ['itemID1','itemID2','itemID3']
userID2 ['itemID3','itemID2','itemID7']
userID3 ['itemID3','itemID2','itemID1']
Нам нужно выполнить следующие запросы:
- Дайте мне все предметы (которые это список) для конкретного пользователя (легко).
- Дайте мне всех пользователей, у которых есть
itemID3
(именно мой вопрос).
Как бы вы это сделали в DynamoDB?
Вариант 1 имеет только хэш-ключ? т.е.
HashKey(users) cartItems
userID1 ['itemID1','itemID2','itemID3']
userID2 ['itemID3','itemID2','itemID7']
userID3 ['itemID3','itemID2','itemID1']
Вариант 2, ключи хэша и диапазона?
HashKey(users) RangeKey(cartItems)
userID1 ['itemID1','itemID2','itemID3']
userID2 ['itemID3','itemID2','itemID7']
userID3 ['itemID3','itemID2','itemID1']
Но, похоже, что ключи диапазона могут быть строки, числа, или бинарная ...
Если это решить только имея 2 таблицы? Как бы вы их моделировали?
Спасибо!