2016-07-13 9 views
0

でスキャン:DynamoDBのは、私はこのようなDynamoDBの中にテーブルを持っている状態

TableName : "User", 
KeySchema: [  
    { AttributeName: "id", KeyType: "HASH"} //Partition key 
], 
AttributeDefinitions: [  
    { AttributeName: "id", AttributeType: "S" } 
], 
ProvisionedThroughput: {  
    ReadCapacityUnits: 10, 
    WriteCapacityUnits: 10 
} 

は今、私は、ユーザーを検索しようとしています:

var params = { 
    TableName: 'User', 
    FilterExpression: 'contains(id, :value)', 
    ExpressionAttributeValues: { 
    ':value': 'ronaldo' 
    } 
}; 

dynamodb.scan(params, function(err, data) { 
    if (err) ppJson(err); // an error occurred 
    else ppJson(data); // successful response 
}); 

それは非常に簡単ですが、私は多くのエラーを得ました:

"message": "Expected params.ExpressionAttributeValues['value'] to be a structure" 

誰でもこれを手に入れましたか?

+0

私はこれを手に入れました。 ':' '値': 'ロナウド' ':値': 'ロナウド' 〜 ':値':{'S': 'ロナウド'} –

+0

そうでなければ、ノード内のドキュメントクライアントを使用できます – Alessio

答えて

2

このコードを試すことができます: 私は同じ問題があります。 構造体の意味データ型に値を渡してください。 SがStringデータ型を意味

 var params = { 
      TableName: 'User', 
      FilterExpression: 'contains(id, :value)', 
      ExpressionAttributeValues: { 
       ':value': { 
        'S': 'ronaldo' 
       } 
      } 
     }; 

     dynamodb.scan(params, function(err, data) { 
      if (err) ppJson(err); // an error occurred 
      else ppJson(data); // successful response 
     }); 

関連する問題