java - 扫描 DynamoDB 中特定哈希的所有排序键

标签 java amazon-dynamodb nosql

例如,我有一个以 userID 作为散列键的表。同一个表包含 commentID 作为范围键。我想查找与特定用户 ID 相关的所有条目。使用 Java SDK,检索具有特定哈希键的所有项目的最有效方法是什么。

解决方案
这是我的做法:

QuerySpec spec = new QuerySpec()
                .withKeyConditionExpression("userID = :v_id")
                .withValueMap(new ValueMap()
                    .withString(":v_id", user.getId()));

ItemCollection<QueryOutcome> items = table.query(spec);

Iterator<Item> iterator = items.iterator();
Item item = null;
while (iterator.hasNext()) {
      item = iterator.next();
      System.out.println(item.toJSONPretty());
}

最佳答案

在 DynamoDB 中“扫描”哈希键的方法称为 Query . 将此 API 与 DynamoDBMapper 或文档 API 结合使用,以获取特定哈希的所有项目。

关于java - 扫描 DynamoDB 中特定哈希的所有排序键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36306838/

相关文章:

Java随机数概率看起来不对

java - 如何将最终分数添加到最终屏幕?

javascript - AWS查找具有特定标签(列表中的字符串值)的数据点的最有效方法

amazon-web-services - 更新 dynamodb 中的集合线程安全吗?

java - 如何按升序对 IntStream 进行排序?

java - 列表转数组的区别

kotlin - 如何在不删除整行的情况下仅从 dynamo Db 行中删除一个属性?

java - 使用 DynamoDBMapper 进行 AWS DynamoDB 范围扫描

mysql - 为什么缩放写入关系数据库几乎是不可能的?

mongodb - 无法在 MongoDB 上具有 LocalDateTime 字段的实体上创建查询