dynamoDB的排序,跳过和限制(跳过)查询

时间:2018-05-23 11:34:33

标签: javascript node.js amazon-web-services aws-lambda amazon-dynamodb

我是Lambda,dynamoDB和无服务器的新手。我有一个用户表想要这样做。

  1. 我想在每个页面中获取记录分页,获取10条记录 来自用户表,
  2. 我想对名称和电子邮件等列进行排序。这两个列都有字符串数据类型。
  3. 我在node.js上使用无服务器。这里我附上了我的serverless.yaml文件

    UserDynamoDbTable:
      Type: 'AWS::DynamoDB::Table'
      DeletionPolicy: Retain
      Properties:
        AttributeDefinitions:
          -
            AttributeName: id
            AttributeType: S
        KeySchema:
          -
            AttributeName: id
            KeyType: HASH
        ProvisionedThroughput:
          ReadCapacityUnits: 1
          WriteCapacityUnits: 1
        TableName: 'user'
    

    我正在尝试使用此查询进行排序

    let params = {
         TableName: 'user',
         limit: 10,
         ScanIndexForward: false
    };
    dynamoDb.scan(params, (error, result) => { })
    

    但是根据我的要求,我没有得到答复。 请帮助我,我是新手。提前谢谢。

1 个答案:

答案 0 :(得分:1)

ScanIndexForward仅适用于范围键。由于该表不包含定义的范围键(即排序键),因此不对数据进行排序。

  

指定的递增(true)或降序(false)遍历   指数。 DynamoDB返回反映所请求订单的结果   由范围键确定。

不幸的是,DynamoDB无法通过任何其他属性对数据进行排序。它只能按范围键排序。