Amazon dynamodb 了解DynamoDB键
我已经阅读了DynamoDB文档。我的场景与指定任何字段作为检索键没有什么不同。我的数据看起来像Amazon dynamodb 了解DynamoDB键,amazon-dynamodb,primary-key,Amazon Dynamodb,Primary Key,我已经阅读了DynamoDB文档。我的场景与指定任何字段作为检索键没有什么不同。我的数据看起来像 RandomID(Unique) Category date_created isUsed ------------------------------------------------------ 12355 ABC 03/02 false 14682 ABC 03/02
RandomID(Unique) Category date_created isUsed
------------------------------------------------------
12355 ABC 03/02 false
14682 ABC 03/02 false
19684 ABC 03/20 false
12357 BCA 03/04 true
16924 ABC 03/14 true
12352 ABC 03/02 true
32358 BCA 03/14 false
RandomId:表中唯一需要检索的唯一内容
类别:每个类别可以有任意数量的已分配和未分配的随机ID
创建日期:创建随机ID时
已使用:是否已使用随机ID
我想为单个类别获取2个未使用的(isUsed='false')随机ID(ifexists)?
示例:如果我查询我的表“为类别“ABC”提供两个未使用的ID”,那么我应该得到其中任何一个结果
{12355, 14682}
{14682, 19684}
{12355, 19684}
我的问题是:
1.我的哈希键是什么?因为这个表中唯一独特的东西就是我的随机ID
任何帮助都将不胜感激。您可以预先计算结果。与其使用布尔值isUsed,不如使用名为
locationUsed
的可选属性(字符串)并在首次使用随机ID时更新该项。如果使用分区键randomID
和排序键locationUsed
创建GSI,则此GSI将仅包含应用程序已使用的具有随机ID的项。您可以通过对随机id项使用条件更新来保护自己免受此GSI视图和基表之间的竞争条件的影响,特别是当属性不存在(locationUsed)时