作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当使用 PutItem
添加新项目,然后使用返回值设置为 ALL_NEW
的 UpdateItem
更新它时,是否期望返回值会强一致吗?
例如放置一个元素;
{key: 1a a: 1}
然后更新项目;
{key: 1, b: 2}
我希望 ReturnValues: ALL_NEW 返回
{key: 1, a: 1, b: 2}
但事实并非如此?
最佳答案
我已经在成功执行 put item 时更新了 item 并得到了您预期的结果。
注意:测试在 DynamoDB 本地执行。
ALL_NEW - Returns all of the attributes of the item, as they appear after the UpdateItem operation.
示例代码:-
var docClient = new AWS.DynamoDB.DocumentClient();
var table = "post";
var paramsPut = {
TableName: table,
Item: {
"postId": '16',
"Pos": {
"key": "1a", "a": "1"
}
}
};
var paramsUpdate = {
TableName: "post",
Key: {
"postId": "16"
},
UpdateExpression: "SET Pos.#key = :keyVal, Pos.b = :keyVal2",
ExpressionAttributeNames: {
"#key": "key"
},
ExpressionAttributeValues: {
":keyVal": "1",
":keyVal2": "2"
},
ReturnValues: "ALL_NEW"
};
console.log("Adding a new item...");
docClient.put(paramsPut, function (err, data) {
if (err) {
console.error("Unable to add item. Error JSON:", JSON.stringify(err,
null, 2));
} else {
console.log("Added item:", JSON.stringify(data, null, 2));
console.log("Then Updating the item...");
docClient.update(paramsUpdate, function (err, data) {
if (err) {
console.error("Unable to update item. Error JSON:", JSON.stringify(err, null, 2));
} else {
console.log("UpdateItem succeeded:", JSON.stringify(data));
}
});
}
});
输出:-
Adding a new item...
Added item: {}
Then Updating the item...
UpdateItem succeeded: {"Attributes":{"Pos":{"a":"1","b":"2","key":"1"},"postId":
"16"}}
关于amazon-dynamodb - DynamoDB PutItem 然后 UpdateItem 与 ReturnValues ALL_NEW 的一致性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45728858/
当使用 PutItem 添加新项目,然后使用返回值设置为 ALL_NEW 的 UpdateItem 更新它时,是否期望返回值会强一致吗? 例如放置一个元素; {key: 1a a: 1} 然后更新项目
我是一名优秀的程序员,十分优秀!