据我所知,dynamodb有两种定义主键的方式:仅使用分区键的单个主键和需要同时指定分区键和排序键的组合键。
我现在遇到的问题是,我不确定在这种情况下users
表是否应该具有单个主键或组合键。
Here例如说,单个主键的一个很好的例子是users表,但是我不确定它的真实性。
答案 0 :(得分:0)
通常,您可以将用户的电子邮件升级为主键,并将其作为分区键。
当我遇到相同的问题时,我使用了2个表:
在表1 上,我拥有所有用户数据,例如:
LICENSE_NUMBER,NAME,EMAIL,PASSWORD,ETC ...,其中“ LICENSE_NUMBER”是主键,主要用于在需要时识别用户。
...而且我还有一个表2 ,其中包含以下字段:
EMAIL,LICENSE_NUMBER,ETC ...,其中,“ EMAIL”用于在用户登录时检索“ LICENSE_NUMBER”。
最后考虑:
由于DynamoDB不允许进行JOIN操作,因此我不得不分成两个表并通过创建2个表(每个表具有单个主键,但绑定到相同的Email / Licence_number字段)来模拟联接。
希望这有助于您选择正确的模式来构建用户表。