【问题标题】:Dynamodb: Update an attribute used as sort keyDynamodb:更新用作排序键的属性
【发布时间】:2019-06-22 04:46:19
【问题描述】:

如果用作 sortKey 的属性的值发生变化会怎样?

例如,假设我有一张表 products,我会使用 ID 作为 partitionkey,使用产品的状态作为 sortkey,如果我更新状态,产品的状态也会存储为产品的属性产品,Dynamodb会自动更新sortKey吗?

【问题讨论】:

    标签: amazon-dynamodb


    【解决方案1】:

    您不能更改 DDB 中记录的主键(散列和/或排序键)。

    UpdateItem 只允许更改属性。

    编辑:会发生什么情况是您会使用新的排序键添加新记录。但原件也会在那里。

    最好的办法是删除记录并使用新的排序键重新添加它。

    可能使用新的事务支持...

    除非您使用的是全局表。

    【讨论】:

    • 这让我很吃惊,因为所有那些在排序键中都有状态的例子......是否期望有多个项目,然后在查询后解释所有项目?或者是删除和重新创建的标准模式
    • 如果我使用全局表和需要删除现有项目并使用更新的主键添加新项目的事务,具体有什么问题或约束?
    • @WebUser 我不明白你的评论,也许你应该问一个新问题。
    • @Charles 您在答案末尾添加了一个警告除非您使用的是全局表,我的评论是为了澄清这意味着什么。跨度>
    猜你喜欢
    • 1970-01-01
    • 2020-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-17
    相关资源
    最近更新 更多