首页 > 解决方案 > put-item 和 update-item 有什么区别?

问题描述

put-item:创建新项目,或用新项目替换旧项目

update-item:编辑现有项目的属性,如果新项目不存在,则将其添加到表中。

当我将 update-item 与表中不存在的新分区键一起使用时,它创建了该项目。put-item也发生了同样的事情。

那么 put-item 和 update-item 有什么区别呢?

谢谢。

标签: amazon-web-servicessql-updateaws-lambdaamazon-dynamodb

解决方案


差异是微妙的,它与表中已存在该项目的情况有关。

PutItem 将始终表现得好像该项目根本不存在于表中,完全使用新项目的内容重新创建它。

另一方面,在项目已经存在的情况下,UpdateItem 不会完全重新创建/替换项目,而是会根据新项目的内容更新现有项目的属性。该行为可以配置为合并或删除现有项目的属性。

我希望这是有道理的,但将 PutItem 视为“我不在乎那里有什么,让它看起来像我告诉你的那样”与 UpdateItem 更像是“修改项目(如果存在)以添加/删除属性”</p>


推荐阅读