查询非关键属性
Query on non-key attribute
看来 dynamodb 的 query
方法必须包括分区键作为过滤器的一部分。不知道分区键如何查询?
例如,您有一个用户 table,其属性 userid
设置为分区键。现在我们想通过 phone 号码查找用户。是否可以在没有分区键的情况下执行查询?据我所知,使用 scan
方法可以实现此目标,但代价是在应用过滤器之前从 table 中提取每个项目。
您需要设置 global secondary index (GSI),使用您的 phoneNumber
列作为索引哈希键。
您可以通过调用 UpdateTable 创建 GSI。
创建索引后,您就可以使用 IndexName
调用 Query,根据 phone 号码提取用户记录。
看来 dynamodb 的 query
方法必须包括分区键作为过滤器的一部分。不知道分区键如何查询?
例如,您有一个用户 table,其属性 userid
设置为分区键。现在我们想通过 phone 号码查找用户。是否可以在没有分区键的情况下执行查询?据我所知,使用 scan
方法可以实现此目标,但代价是在应用过滤器之前从 table 中提取每个项目。
您需要设置 global secondary index (GSI),使用您的 phoneNumber
列作为索引哈希键。
您可以通过调用 UpdateTable 创建 GSI。
创建索引后,您就可以使用 IndexName
调用 Query,根据 phone 号码提取用户记录。