2016-09-20 74 views
1

我有2个属性id(字符串,主键),值(字符串)的表。 当我尝试follwoing KeyConditionExpression它抛出查询关键条件不支持如何在DynamoDB的主键上使用starts_with方法?

KeyConditionExpression: "begins_with(ID, :tagIDValue)" 
         or 
KeyConditionExpression: "contains(ID, :tagIDValue)" 

this链接我才知道,我们可以在主键只能使用EQ操作。我怎样才能做到这一点

解决方案:====================================== ================

我需要BEGINS_WITH使用或包含过滤所以我用下面的方法去。

表属性:PK(partion_key,字符串),ID(分类键,字符串),值(字符串)。现在

我的主键是基于PK陷害,ID

PK将对所有行恒定值。所以KeyConditionExpression会像。

KeyConditionExpression: "PL = :pk and begins_with(ID, :tagIDValue)" 

注:不过还是包含不KeyConditionExpression工作。我认为它已从KeyConditionExpression中删除

回答

1

在指定主键的EQ条件后,您只能使用begins_withcontains与范围键。

要使用情商与主键你可以为我所用装箱关键partion和范围键或排序键主键的建议做

KeyConditionExpression: "ID = :tagIDValue" 
+0

谢谢 – Praveenkumar

相关问题