如何使用非主键从DynamoDB获取多行

时间:2018-07-24 11:40:53

标签: amazon-dynamodb

select * from tableName where columnName="value";

如何在不使用主键作为属性的情况下使用Java在DynamoDB中获取相似的结果(需要根据特定列的值对数据进行分组)。

我已经阅读了有关getbatchitems,QuerySpec的文章,但是所有这些都要求我传递主键。

有人可以在这里带头吗?

1 个答案:

答案 0 :(得分:1)

简短的答案是您不能做到。每当在DynamoDB中使用Query或GetItem操作时,都必须始终提供表或索引主键。

您有两个选择:

  1. 在表上执行扫描操作,并按columnName="value"进行过滤。但是,这要求DynamoDB查看表中的每个项目,因此它可能很慢且很昂贵。
  2. 将全局二级索引添加到表中。这将要求您为包含要查询的columnName的索引定义一个主键