如何根据动态列

时间:2017-03-04 16:20:53

标签: amazon-dynamodb amazon-dynamodb-streams

我是Dynamodb的新手, 我的表名是“user”,其中有两列,一个是“time”,另一个是“cost”。 我想根据列名获取排序数据, 假如我按升序提供输入参数作为前50条记录的“时间”,如果我将输入参数作为“成本”提供前50条记录。

我尝试过这样的事情,但这不起作用。

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

先谢谢。

1 个答案:

答案 0 :(得分:0)

不幸的是,Dynamodb没有对表中的所有属性进行排序功能。您只能使用ScanIndexForward为true / false来按排序键对项目进行排序。

如果要按排序键以外的属性对项目进行排序,则必须在客户端进行排序(即,Dynamodb没有此功能)。