【问题标题】:Filter DynamoDBScanExpression by Boolean attribute按布尔属性过滤 DynamoDBScanExpression
【发布时间】:2016-07-18 08:00:30
【问题描述】:

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

我想要做的是通过boolean 过滤ScanExpression 结果,所以我只会得到属性“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 以仅获取“文本”属性中具有 true 值的行?

【问题讨论】:

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


    【解决方案1】:

    使用以下注释定义字段并如下所述扫描表(即使用 new 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);
    

    【讨论】:

      猜你喜欢
      • 2014-04-06
      • 1970-01-01
      • 2017-06-25
      • 2014-05-27
      • 1970-01-01
      • 2012-08-18
      • 2021-05-14
      • 2020-05-15
      • 2021-05-28
      相关资源
      最近更新 更多