gpt4 book ai didi

java - 通过对数字属性执行 ADD 操作来更新 DynamoDB

转载 作者:行者123 更新时间:2023-12-01 11:13:21 26 4
gpt4 key购买 nike

所以我有这个表,其中行具有两组属性之一。一行从一组开始它的生命,然后进入第二组(并保持这种状态直到被删除)。两组都有一个共同的属性。

问题是我想通过更新将行从第一个属性集转换为第二个属性集。我不想阅读,只是为了获得那个单一的通用属性。我发现,如果您执行 UpdateRequest,则更新中未包含的每个属性都会被清除。由于公共(public)属性是一个数字,我发现我会用这样的 ADD 属性操作来作弊:

new AttributeValueUpdate()
.withAction(AttributeAction.ADD)
.withValue(new AttributeValue().withN("0"));

根据documentation ,此操作与属性类型(数字)结合使用应该将值(在本例中为 0)添加到当前属性值。然而,这与 PUT 操作类似,因为在操作之后该属性的值是 0。

所以问题是:

  1. ADD 操作是否像我预期的那样起作用?换句话说,向属性添加 0 是否可以使其在 UpdateRequest 中存活下来?如果是这样,我可能做错了什么,因为它似乎对我不起作用?

  2. 假设 ADD 操作按预期工作,而我只是误解了它的作用——是否有其他方法可以在更新期间保留属性值?

最佳答案

updateItem API 允许您部分更新您的项目。但是,如果主键不存在,它将插入一个项目。如果该属性不存在,则默认值为 0。因此,我会仔细检查您的属性是否设置为 0 或者它不存在以确认您的结果。

关于java - 通过对数字属性执行 ADD 操作来更新 DynamoDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32120008/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com