查询非关键属性

Query on non-key attribute

看来 dynamodb 的 query 方法必须包括分区键作为过滤器的一部分。不知道分区键如何查询?

例如,您有一个用户 table,其属性 userid 设置为分区键。现在我们想通过 phone 号码查找用户。是否可以在没有分区键的情况下执行查询?据我所知,使用 scan 方法可以实现此目标,但代价是在应用过滤器之前从 table 中提取每个项目。

您需要设置 global secondary index (GSI),使用您的 phoneNumber 列作为索引哈希键。

您可以通过调用 UpdateTable 创建 GSI。

创建索引后,您就可以使用 IndexName 调用 Query,根据 phone 号码提取用户记录。