2017-02-22 5 views
0

Ich habe eine DynamoDB-Tabelle mit einem Primärschlüssel (_id), der ein einfacher int ist. Ich möchte den höchsten Wert für den Primärschlüssel erhalten.Dynamoose + DynamoDB-Abfragelogik

Wie gebe ich den Artikel in der Tabelle mit der höchsten _id zurück?

Ich kann entweder die Amazon Javascript-API oder die Dynamoose-Bibliothek verwenden.

Antwort

0

Partitionstasten werden nicht in der Reihenfolge gespeichert. Sie müssten die gesamte Tabelle durchsuchen, über die Elemente streamen, dem _id-Attribut zuordnen und dann den Maximalwert zurückgeben.

0

Sie können ganz einfach Globale Sekundärindex erstellen, in dem _id muss eine Sortierschlüssel und basierend darauf, Ihnen eine Anfrage wie diese machen kann:

var params = { 
    TableName: 'Devices', 
    KeyConditionExpression: 'status = :status', 
    ScanIndexForward: false, // true = ascending, false = descending 
    ExpressionAttributeValues: { 
     ':s': status 
    } 
}; 

docClient.query(params, function(err, data) {});