2017-04-11 109 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查詢記錄。