0

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

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

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

提前致谢。

4

1 回答 1

0

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

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

于 2017-03-05T11:58:41.507 回答