2016-09-20 17 views
1

私は属性ID(文字列、主キー)、値(文字列)を持つテーブルを持っています。 KeyConditionExpressionをフォローしようとすると、クエリーキー条件がサポートされませんthisリンクからDynamoDBの主キーでstarts_withメソッドを使用するにはどうすればよいですか?

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

私たちは、メインキーにのみEQ操作を使用することができます知っているようになりました。どうすれば実現できますか

ソリューション:====================== ================

私はbegin_withまたはフィルタリングするために使用する必要があるので、私は次のアプローチを行った。

表属性:PK(partion_key、string)、ID(ソートキー、ストリング)、値(ストリング)。

今私の主キーはフレームPKに基づいており、ID

PKは、すべての行に対して一定の値を持つことになります。したがって、KeyConditionExpressionは、次のようになります。

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

注:しかし、まだはKeyConditionExpressionで作業していないが含まれています。 KeyConditionExpressionから削除されたと思います

答えて

1

begins_withとは、プライマリキーのEQ条件を指定した後、範囲キーでのみ使用できます。

あなたは私がpartionキーとRANGEキーまたはソート・キーと主キーをcratedている提案を

KeyConditionExpression: "ID = :tagIDValue" 
+0

感謝を行うことができ、主キーでEQを使用するには – Praveenkumar

関連する問題