2017-03-04 3 views
0

私はDynamodbの新機能です テーブル名は2つの列があり、1つは「時間」、もう1つは「コスト」である「ユーザー」です。 列名に基づいてソートされたデータを取得したかった 入力パラメータを「時間」として昇順で上位50レコードに指定し、入力パラメータを「コスト」、次に上位50レコードと指定するとします。動的列に基づいてdynamodbからソートされたデータを取得する方法

私はこれをいくつか試しましたが、これは動作しません。

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

ありがとうございます。

答えて

0

残念ながら、Dynamodbはテーブル内のすべての属性に対してソート機能を持っていません。ソートキーで項目をソートするには、ScanIndexForwardがtrue/falseでなければなりません。

ソートキー以外の項目でソートする場合は、クライアント側で行う必要があります(つまり、DynamoBにはこの機能がありません)。

関連する問題