2014-02-26 2 views
3

특정 기본 키 값에 대해 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}}}; 

어떤 아이디어? 어떤 도움도 감사 할 것입니다.

+0

왜 여기에 + 기호를 사용하고 있습니까? + req.params.id'입니까? 그러면 id가 숫자로 바뀌고 (두 번째 경우) 스키마에서 userId가 문자열로 표시됩니다. –

답변

0

매개 변수 변수를 보내고있는 것으로 보입니다. 여기에 입력하지 않은 변수가 있습니다. (사용자 아이디 대) 사용자 ID에 dynamodb.getItem (요소, 콜백) 오타 (경우의 차이)가 같은

+0

예, dynamodb.getItem (element, function (err, data))도이 줄을 사용했지만 아무 일도 일어나지 않습니다. 동일한 결과를 의미합니다. – coolhimanshu

0

가 보이는 :

당신은 요소를 전송해야한다. - 대문자 D. 이 변경을 시도하십시오.

+0

시도했지만 성공하지 못했습니다 .. :( – coolhimanshu

1
당신은 존재하는 경우 또한 매개 변수

예를 를 들어, '키'의 범위 키를 통과해야

그것은이 도움이

Key:{'thePrimaryKey':{ "S": 'primaryKey' }, 'theRangeKey': {'S': 'rangeKey'} } 

희망해야합니다!

관련 문제