我有一个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
值的行?
答案 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);