put-item和update-item之间的区别是什么?
- 论坛
- put-item和update-item之间的区别是什么?
11 浏览
匿名的
0 Comments
PutItem和UpdateItem之间的区别是微妙的,与项目已经存在于表中的情况有关。
PutItem将始终表现得好像项目根本不存在于表中,完全使用新项目的内容重新创建项目。
另一方面,UpdateItem在项目已经存在的情况下,不会完全重新创建/替换项目,而是根据新项目的内容更新现有项目的属性。行为可以配置为合并或删除现有项目的属性。
希望这样说有意义,但可以将PutItem视为“我不在乎现有的内容,使其看起来像我告诉你的那样”,而UpdateItem更像是“修改项目(如果存在),以添加/删除属性”。
这里举个例子:如果DB中有{name: "John", last: "Smith"},使用{name: "Joe"}进行更新将得到{name: "Joe", last: "Smith"},而使用{name: "Joe"}进行Put将得到{name: "Joe"}。