我见过this page关于如何仅使用分区键进行查询的信息。但是,我的情况是使用DynamoDBMapper class进行查询,但似乎无法解决该问题。
这是我的代码的一部分:
let current = <?= $number_of_items ?>;
我查询的表具有主分区键private final DynamoDBMapper mapper;
List<QueryResult> queryResult = mapper.query(QueryResult.class, queryExpression);
和主排序键id
。
我想查询所有带有指定timestamp
的行,eav看起来像:
id
但是如果ID重复(这很有意义,因为它是分区键),它总是给我
{:id={S: 0123456,}}
不确定如何解决此问题。由于要与其他表共享代码,因此必须使用DynamoDBMapper类。
任何帮助表示赞赏!谢谢。
答案 0 :(得分:0)
以下工作吗?
final DynamoDBQueryExpression<QueryResult> queryExpression = new DynamoDBQueryExpression<>();
expression.setKeyConditionExpression("id = :id");
expression.withExpressionAttributeValues(ImmutableMap.of(":id", new AttributeValue("0123456")));