특정 기본 키 값에 대해 Node.js에서 Amazon Data Server의 데이터에 액세스하려고합니다. 데이터는 형태로 볼 수 있습니다 :node.js에서 dynamo db에 액세스하는 방법
**ValidationException: The provided key element does not match the schema.**
그러나 나는 시도했다 :
이app.get('/Mydetails/:tablename/:id', function(req, res){
console.log('Table is ' + req.params.tablename);
var element = {TableName: req.params.tablename, Key:{UserID:{"S": '"'+req.params.id+'"' }}};
console.log('Id is "' + req.params.id + '"');
dynamodb.getItem(element, function(err, data){
if(err){
console.log('Error occurred: '+err);
}else{
console.log('succeed');
res.json(data);
}
});
후 다음과 같은 오류를 제공합니다 :
{
"Count": 9862,
"Items": [
{
"Admin": {
"S": "false"
},
"UserId": {
"S": "e9633477-978e-4956-ab34-cc4b8bbe4adf"
},
"Age": {
"N": "76.24807963806055"
},
"Promoted": {
"S": "true"
},
"UserName": {
"S": "e9633477"
},
"Registered": {
"S": "true"
}
},
{
"Admin": {
"S": "false"
},
"UserId": {
"S": "acf3eff7-36d6-4c3f-81dd-76f3a8071bcf"
},
"Age": {
"N": "64.79224276370684"
},
"Promoted": {
"S": "true"
},
"UserName": {
"S": "acf3eff7"
},
"Registered": {
"S": "true"
}
},
매번 나는 코드 요청을하고 때 이 또한 -
var element = {TableName: req.params.tablename, Key:{UserId:{"S": +req.params.id}}};
어떤 아이디어? 어떤 도움도 감사 할 것입니다.
왜 여기에 + 기호를 사용하고 있습니까? + req.params.id'입니까? 그러면 id가 숫자로 바뀌고 (두 번째 경우) 스키마에서 userId가 문자열로 표시됩니다. –