如何使用 Nodejs 更新 dynamoDB 中的项目?
这里是来自 DynamoDB javascript shell 的 ITEM 列表 -
"Items": [
{
"EmailId": "swa@acc.com",
"flag": 1,
"deviceOS": "IOS",
"companyName": "VCC",
"snsEndpoint": "00d0sadas",
"CreatedAt": 22112015,
"Otp": "ABCDEF",
},
我想将标志值更新为 2 ...这是我的代码。我该怎么办??我究竟做错了什么 ??感谢帮助...
var params = {
TableName: 'users',
Key: {
id: {
'S': req.query.id
},
flag: {
'N': 2
}
},
UpdateExpression: 'SET #flag =:val1',
ExpressionAttributeNames: {
'#flag': 'flag' //COLUMN NAME
},
ExpressionAttributeValues: {
':val1': {
'N': 2
},
}
};
dynamodb.updateItem(params, function(err, data) {
if (err) {
console.log('Error :' + err);
} else {
//subscribe(bodydata.id);
console.log('EndpointArn Saved successful');
console.log('Data :' + JSON.stringify(data.flag));
}
});
最佳答案
您正在尝试修改不存在的flag: { 'N': 2 }
。但您想将 flag: { 'N': 1 }
值修改为 2。因此请尝试这样做:
var params = {
TableName: 'users',
Key: {
id: {
'S': req.query.id
},
flag: {
'N': 1
}
},
UpdateExpression: 'SET #flag =:val1',
ExpressionAttributeNames: {
'#flag': 'flag' //COLUMN NAME
},
ExpressionAttributeValues: {
':val1': {
'N': 2
},
}
};
dynamodb.updateItem(params, function(err, data) {
if (err) {
console.log('Error :' + err);
} else {
//subscribe(bodydata.id);
console.log('EndpointArn Saved successful');
console.log('Data :' + JSON.stringify(data.flag));
}
});
关于javascript - 如何使用nodejs更新dynamoDB中的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33858475/