按布尔属性过滤DynamoDBScanExpression

时间:2016-07-18 08:00:31

标签: android amazon-web-services boolean amazon-dynamodb

我有一个DynamoDBScanExpression,用于在DynamoDB服务中扫描我的表。数据库映射类为Item.class
我使用ScanExpression的原因是它是ListView的适配器。

我想要做的是按ScanExpression过滤boolean结果,因此我只会得到“text”属性为true的结果。

我试图检查属性的值何时等于字符串“true”,但它不起作用。

DynamoDBScanExpression dbScanExpression = new DynamoDBScanExpression();
Condition condition = new Condition()
    .withComparisonOperator(ComparisonOperator.EQ)
    .withAttributeValueList(new AttributeValue("true"));
dbScanExpression.addFilterCondition("text", condition);
List<Item> itemsList = dbMapper.scan(Item.class, dbScanExpression);

如何过滤ScanExpression以仅获取“text”属性中具有true值的行?

1 个答案:

答案 0 :(得分:2)

使用下面的注释定义字段并按下面所述扫描表格(即使用新的AttributeValue()。withBOOL(true))。

@DynamoDBNativeBoolean
@DynamoDBAttribute(attributeName = "text")
public Boolean getStatusCode() {
    return text;
}

Condition condition = new Condition().withComparisonOperator(ComparisonOperator.EQ)
        .withAttributeValueList(new AttributeValue().withBOOL(true));
dbScanExpression.addFilterCondition("text", condition);