通过在AWS上阅读,DynamoDB UpdateItem可以向现有项目添加属性。
例如,如果我有一个项目 - 主键:UserID,这有一些属性,如 成员:1 成员:2 成员:3
我可以添加成员:4?
* 属性的关键成员是否必须是唯一的?如果有的话,当项目的内容只是一个成员编号列表(他们在系统上的朋友)时,有一种方法可以使这个唯一吗?
THX
答案 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中创建表时为要更新的属性创建新的列或属性。