DynamoDB:获得LSI的最后记录

时间:2013-07-30 11:56:29

标签: java amazon-web-services amazon-dynamodb

我们有这个java代码来获取表中的最后一条记录:

Map<String, Condition> _keyCondn = new HashMap<String, Condition>();
_keyCondn.put(HASH_ID, new Condition()
                    .withComparisonOperator(ComparisonOperator.EQ)
                    .withAttributeValueList(new AttributeValue().withS(hashId)));

    QueryRequest qr = new QueryRequest();

    if (fltrField != null && fltrAttr != null)
    {
        _keyCondn.put(fltrField, new Condition()
                        .withComparisonOperator(ComparisonOperator.EQ)
                        .withAttributeValueList(fltrAttr));
        if (fltrIndex != null)
            qr.setIndexName(fltrIndex);
    }


    qr.withTableName(tableName)
        .withKeyConditions(_keyCondn)
        .withScanIndexForward(false);

    qr.withConsistentRead(true)
        .withLimit(1);

请求正常工作,直到我在LSI中包含if语句。有没有办法让这项工作? 或者至少是一个更好的解决方案,然后“获取最后一条记录,扫描回来,直到我们得到所需的值”

0 个答案:

没有答案