【发布时间】:2017-09-18 17:55:46
【问题描述】:
我即将创建我的第一个 dynamodb 表,但找不到合适的解决方案来模拟我的需求。这听起来很基础,但可能我的大脑仍然对关系数据库世界太感兴趣了。
我想存储类似的东西:
用户可以购买产品(一次或多次)。我要存储的是username,product_id
我稍后需要查询的唯一内容是:
- 用户
X购买了哪些产品 - 他们购买了多少次
首先,我考虑拥有一个具有两个属性的项目:username 和 product_id。但是我不能使用username作为主键(用户可以购买多次)我也不能使用username + product_id(用户可以多次购买产品)
现在我会选择 username、product_id、counter 并以 username + product_id 作为主键。但是,我总是需要先检查产品是否已经购买并更新,否则创建一个新条目。为了获取用户的所有产品,我将在 username 上创建一个全局二级索引。
但是,我不太确定这是否是正确的方法。任何反馈都会很棒!
【问题讨论】:
标签: amazon-dynamodb boto nosql