我正在使用dynamodb數據庫並嘗試通過node.js更新值。我創建了一個名爲counter的表格,以確定存儲在單獨表格中的學生的當前計數。我有更新字符串值的運氣,但嘗試更新此計數器值時遇到了麻煩。在過去的幾個小時裏,我嘗試了許多不同的代碼配置,無濟於事。任何幫助,將不勝感激。通過node.js增加存儲在dynamodb表中的值時遇到問題
function updateCount(operand) {
var params = {
TableName : "counter",
Key:{
"type" : {
"S" : "student"
}
},
UpdateExpression : "SET pos = pos + :o",
ExpressionAttributeValues:{
":o": Number(operand)
},
ReturnValues:"UPDATED_NEW"
}
docClient.update(params, function(err, data) {
if (err)
console.log(err);
else {
console.log(data);
res.send(JSON.stringify(data, null, 2));
}
});
} 使用UpdateCount(1);
的當前錯誤表明這一點,但我有更多的: C:\用戶\ Ko_Kor \桌面\ CS 496 \作業#3>節點server.js 快車上http://localhost:8081開始;按Ctrl-C終止。 {[ValidationException:提供的鍵元素與模式不匹配] message:'提供的鍵元素與模式不匹配', code:'ValidationException', time:Fri Oct 21 2016 20:36:43 GMT -0700(太平洋夏令時), 的requestId: 'T8G9V8KF587THVK5OTGQ95TH9VVV4KQNSO5AEMVJF66Q9ASUAAJG', 的StatusCode:400, 重試:假的, retryDelay:0}
我一直在使用這種格式也嘗試:
ExpressionAttributeValues:{
":o": {"N": operand}
},
我意識到Dynamodb不包含內置的自動增量功能,但肯定有一種方法來創建計數器。爲什麼每次發生特定事件時都無法更新表格中的數字? – zdevita
它缺少一個功能,即自動增加屬性。 –