使用Hash和Range查询单个值? (亚马逊DynamoDB)

时间:2015-06-24 04:08:57

标签: amazon-web-services amazon-dynamodb

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

1 个答案:

答案 0 :(得分:0)

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

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

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