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

Amazon dynamodb 如何使用非主键从DynamoDB获取多行,amazon-dynamodb,Amazon Dynamodb,如何使用java在DynamoDB中获取类似的结果,而不使用主键作为属性(需要根据特定列的值对数据进行分组) 我已经阅读了有关getbatchitems、QuerySpec的文章,但所有这些都要求我传递主键 有人能在这里提供线索吗?简而言之,你不能。无论何时在DynamoDB中使用查询或GetItem操作,都必须始终提供表或索引主键 您有两个选择: 对表执行扫描操作,并按columnName=“value”进行筛选。然而,这需要DynamoDB查看表中的每一项,因此它可能会很慢而且很昂贵 将全局

如何使用java在DynamoDB中获取类似的结果,而不使用主键作为属性(需要根据特定列的值对数据进行分组)

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


有人能在这里提供线索吗?

简而言之,你不能。无论何时在DynamoDB中使用查询或GetItem操作,都必须始终提供表或索引主键

您有两个选择:

  • 对表执行扫描操作,并按
    columnName=“value”
    进行筛选。然而,这需要DynamoDB查看表中的每一项,因此它可能会很慢而且很昂贵
  • 将全局辅助索引添加到表中。这将要求您为包含要查询的
    columnName
    的索引定义主键

  • 谢谢是的,出于这个原因,我不想使用“扫描”。我会选择第二个选项。
    select * from tableName where columnName="value";