dynamodb 查询:我可以使用 beginswith 过滤器吗?



我正在尝试查询dynamodb表。当我使用开头为运算符时,我收到以下错误。

{u'Message':u'All 查询必须对哈希键有条件,并且 它必须是 EQ'、u'__type'的类型: u'com.amazon.coral.validate#ValidationException'}

result_set = tb_places.query_2(
    place_name__beginswith="ame",
)

这里place_name是全球二级指数

无论是查询表还是索引,唯一可以应用于哈希键属性的运算符是 EQ 。或者,您可以在范围键上使用BEGINS_WITH

对于对表的查询,只能对表具有条件 主键属性。您必须提供哈希键属性名称 和值作为 EQ 条件。您可以选择提供第二个 条件,指范围键属性。[...]

对于对索引的查询,只能对索引键设置条件 属性。必须提供索引哈希属性名称和值 作为情商条件。您可以选择提供第二个条件, 参考索引键范围属性。

来源: http://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Query.html

最新更新