【问题标题】:Query a single value with Hash and Range? (Amazon DynamoDB)使用 Hash 和 Range 查询单个值? (亚马逊 DynamoDB)
【发布时间】:2015-06-24 13:00:45
【问题描述】:

这似乎是一个愚蠢的问题,但是:据我所知,哈希键和范围键组合可作为唯一标识表中项目的一种方式。但是,我看到的每个数据库示例以及查询文档都显示使用哈希和/或范围键进行查询以返回多个值。如何使用范围和哈希来查询(或其他操作)单个项目?

【问题讨论】:

    标签: amazon-web-services amazon-dynamodb


    【解决方案1】:

    根据 DynamoDB 客户端文档 here,查询表时,查询会返回具有相同哈希键的所有项目。如果表只有一个哈希类型的主键(而不是一个哈希+范围类型的主键),那么结果将包含零个或一个项目。如果表有 hash + range 主键,那么结果可以包含零个或多个项目。在哈希+范围主键的情况下,如果提供了范围键比较运算符(等于、介于等),则可以将查询结果缩小到更少的记录。为范围查询提供相等比较运算符将返回零或一条记录。

    因此,返回一个项目实际上只是返回项目列表的一种特殊情况。

    但是,如果您认为使用 API 获取单个项目有助于提高代码的语义/可读性 - 您可以使用 getItem 的变体。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-01
      • 2013-01-01
      • 1970-01-01
      相关资源
      最近更新 更多