DynamoDB&的updateItem

时间:2012-12-30 03:33:39

标签: amazon-web-services amazon-dynamodb

通过在AWS上阅读,DynamoDB UpdateItem可以向现有项目添加属性。

例如,如果我有一个项目 - 主键:UserID,这有一些属性,如 成员:1 成员:2 成员:3

我可以添加成员:4?

* 属性的关键成员是否必须是唯一的?如果有的话,当项目的内容只是一个成员编号列表(他们在系统上的朋友)时,有一种方法可以使这个唯一吗?

THX

3 个答案:

答案 0 :(得分:1)

是的,DynamoDB支持将String,Number和Binary设置为属性。

http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html#DataModelDataTypes

  

字符串,数字和二进制集

     

Amazon DynamoDB还支持数字集,字符串集和二进制   集。多值属性,例如书籍项目中的Authors属性   产品项的Color和Color属性是字符串集类型的示例   属性。请注意,因为它是一个集合,所以集合中的值必须   独一无二。属性集不是有序的;值的顺序   在一组中返回不会被保留。请注意,Amazon DynamoDB没有   支持空集。

答案 1 :(得分:1)

您可以根据需要添加新属性。

您应该更喜欢使用“Number Set”attr类型来存储朋友成员ID,而不是为每个朋友添加新的attr。

但不要忘记限制

与单个项目关联的属性数量没有明确限制,但项目的聚合大小(包括所有属性名称和属性值)为64KB。

答案 2 :(得分:1)

在Dynamodb中,主键被命名为" Hash Key"。这是独一无二的。我们必须在创建表时定义什么是Hash Key(Only One)。在这种情况下说

哈希键是UserID。 Dynamodb的优点是我们可以为现有属性添加任意数量的属性。 例 for UserId 1  我们有member1 member2 member3  然后对于用户ID 2,我们可以有成员,member2,member3,member4,.... 我们不需要在Dynamo-db中创建表时为要更新的属性创建新的列或属性。