docClient.update({
TableName: 'patient',
Key: {
"patientId": "TIGERPAT0001"
},
UpdateExpression: "set title = :x, name = :y",
ExpressionAttributeNames: {
"#name": "name"
},
ExpressionAttributeValues: {
":x": 'title value abc',
":y": 'name value xyz'
}
}, function (err, data) {
if (err) {
json.status = '0';
json.result = { 'error': 'Unable to Edit Patient : ' + JSON.stringify(err) };
res.send(json);
} else {
json.status = '1';
json.result = { 'sucess': 'Patient Edited Successfully :' };
res.send(json);
}
});
当使用上面的代码时,我得到了res:
无法编辑患者错误:{"message":"The number of conditions on the keys is invalid","code":"ValidationException","time":"2017-09-13T07:12:56.608Z","requestId":"a01c707c-86b4-41a5-a1c5-92b9ea07c026","statusCode":400,"retryable":false,"retryDelay":6.368631970657979}
我错过了什么/任何错误?
答案 0 :(得分:3)
我认为您在创建表时使用了多个键。
如果您在创建表时使用了n
个键,那么此处还需要传递n
个键:
例如:
docClient.update({
TableName: 'patient',
Key: {
"patientId": "TIGERPAT0001",
"id1": "id1value",
"id2": "id2value"
},
UpdateExpression: "set title = :x, name = :y",
ExpressionAttributeNames: {
"#name": "name"
},
ExpressionAttributeValues: {
":x": 'title value abc',
":y": 'name value xyz'
}
}, function (err, data) {
if (err) {
json.status = '0';
json.result = { 'error': 'Unable to Edit Patient : ' + JSON.stringify(err) };
res.send(json);
} else {
json.status = '1';
json.result = { 'sucess': 'Patient Edited Successfully :' };
res.send(json);
}
});
请用您的密钥替换id1
和id2