2017-04-11 4 views
0
Arbeits

Dies ist die Abfrage:DynamoDB: Abfrage nicht

   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); 
       }) 

Dies ist der Fehler:

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

Was mache ich falsch hier?

Tabelle sieht wie folgt aus:

id division_id event

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

Antwort

1

Es sieht aus wie Sie von einem Nicht-Schlüsselwert (event) abzufragen versuchen.

Sie müssen entweder abfragen id, oder richten Sie eine global secondary index (GSI), mit Ihrer event Spalte als Index-Hash-Schlüssel.

Sie können ein GSI erstellen, indem Sie UpdateTable aufrufen.

Sobald Sie den Index erstellt haben, können Sie Query mit Ihrer IndexName aufrufen, um Datensätze nach event abzufragen.

Verwandte Themen