2017-04-11 95 views
4

似乎dynamodb的query方法必须包含分区键作为过滤器的一部分。如果您不知道分区键,如何执行查询?关键非属性查询

例如,您将用户表的属性设置为userid作为分区键。现在我们要通过他们的电话号码查找用户。是否可以在没有分区键的情况下执行查询?使用scan方法,可以实现此目标,但是在应用过滤器之前以表格中的每个项目为代价,据我所知。

回答

4

您需要设置一个global secondary index(GSI),使用phoneNumber列作为索引散列键。

您可以致电UpdateTable创建GSI。

创建索引后,您可以拨打QueryIndexName,根据电话号码提取用户记录。

+0

啊,我一定忽略了那个。完善! –