【发布时间】:2015-11-05 09:26:04
【问题描述】:
各位, 鉴于我们必须存储以下购物车数据:
userID1 ['itemID1','itemID2','itemID3']
userID2 ['itemID3','itemID2','itemID7']
userID3 ['itemID3','itemID2','itemID1']
我们需要运行以下查询:
- 给我特定用户的所有项目(列表)(简单)。
- 给我所有拥有
itemID3的用户(正是我的问题)。
您将如何在 DynamoDB 中对此进行建模?
选项1,只有Hash键?即
HashKey(users) cartItems
userID1 ['itemID1','itemID2','itemID3']
userID2 ['itemID3','itemID2','itemID7']
userID3 ['itemID3','itemID2','itemID1']
选项 2,Hash 和 Range 键?
HashKey(users) RangeKey(cartItems)
userID1 ['itemID1','itemID2','itemID3']
userID2 ['itemID3','itemID2','itemID7']
userID3 ['itemID3','itemID2','itemID1']
但好像范围键只能是字符串、数字或二进制...
应该通过 2 个表来解决这个问题吗?你会如何为它们建模?
谢谢!
【问题讨论】:
标签: amazon-dynamodb