Java DynamoDB';带DynamoDBMapper.query的s withLimit子句

Java DynamoDB';带DynamoDBMapper.query的s withLimit子句,java,amazon-dynamodb,Java,Amazon Dynamodb,我将DynamoDBMapper用于一个类,比如“User”(用户名是主键),它有一个字段,上面写着“Status”。它是一个哈希+范围键表,每当用户的状态发生更改(更改非常罕见),我们都会向该表中添加一个新条目以及时间戳(即范围键)。要获取当前状态,我正在执行以下操作: DynamoDBQueryExpression expr = new DynamoDBQueryExpression(new AttributeValue().withS(userName))

我将DynamoDBMapper用于一个类,比如“User”(用户名是主键),它有一个字段,上面写着“Status”。它是一个哈希+范围键表,每当用户的状态发生更改(更改非常罕见),我们都会向该表中添加一个新条目以及时间戳(即范围键)。要获取当前状态,我正在执行以下操作:

    DynamoDBQueryExpression expr =
        new DynamoDBQueryExpression(new AttributeValue().withS(userName))
               .withScanIndexForward(false).withLimit(1);

    PaginatedQueryList<User> result = 
                this.getMapper().query(User.class, expr);

    if(result == null || result.size() == 0) {
        return null;
    }

    for(final User user : result) {
        System.out.println(user.getStatus());
    }
我想了解的是,在这种情况下,
withLimit
条款的全部意义是什么,还是我做错了什么?

2013年3月,一位用户投诉了同样的问题

亚马逊的一位代表让他使用queryPage函数

似乎并没有保留对元素的限制,而是对单个API调用中检索到的元素块的限制,查询页面可能会有所帮助

你也可以调查一下

此外,你可以随时为团队服务

final String currentStatus = result.get(0).getStatus();