2017-04-11 115 views
0

这是查询:DynamoDB:查询不工作

   var params = { 
        TableName : "events", 
        KeyConditionExpression: "event = :event", 
        ExpressionAttributeValues: { 
         ":event": "florida" 
        } 
       }; 
       db.query(params, function(err, data) { 
        if (err) console.log(err, err.stack); 
        else  console.log(data); 
       }) 

这是错误:

message: 'Query condition missed key schema element: id', code: 'ValidationException',

什么我错在这里做什么?

表看起来是这样的:

id division_id event

1491934519379 111222 florida
1491934895527 222111 florida
1491936271559 232123 earthquake
1491936037958 543335 los angeles
1491936037957 554334 los angeles

回答

1

它看起来就像你正在试图通过非键值(event)进行查询。

您需要通过id查询,或者使用您的event列作为索引散列键来设置global secondary index(GSI)。

您可以致电UpdateTable创建GSI。

创建索引后,您可以拨打QueryIndexName,通过event查询记录。