2017-03-04 2 views
0

Ich bin neu für Dynamodb, Ich habe Tabellenname ist "Benutzer", in dem zwei Spalte ist da, man ist "Zeit" und ein anderer ist "Kosten". Ich wollte die sortierten Daten basierend auf dem Spaltennamen, Say, wenn ich Input-Parameter als "Zeit" den Top-50-Datensatz in aufsteigender Reihenfolge bereitstellen und wenn ich Eingabeparameter als "Kosten" dann Top-50-Datensatz bereitstellen.Wie sortierte Daten von Dynamodb basierend auf dynamische Spalte

Ich habe etwas wie dieses versuchen, aber das funktioniert nicht.

{ 
    TableName: "User", 
    Limit: 50, 
    ScanIndexForward: false, 
    ExclusiveStartKey: (params.lastEvaluatedKey)? {tripId: {S: String(params.lastEvaluatedKey)}}: null, 
    KeyConditionExpression : 'cost > :costValue', 
    ExpressionAttributeValues : { 
     ':costValue': '1' 
    } 
} 

Danke in fortgeschrittenem.

Antwort

0

Leider hat Dynamodb keine Sortierfunktionalität für alle Attribute in einer Tabelle. Sie können die Elemente nach Sortierschlüssel sortieren, indem Sie ScanIndexForward nur für wahr/falsch verwenden.

Wenn Sie die Elemente nach anderen Attributen als Sortierschlüssel sortieren möchten, müssen Sie auf der Clientseite tun (z. B. Dynamodb verfügt nicht über diese Funktionalität).

Verwandte Themen