2017-07-08 5 views
0

[apple, orange]カテゴリ(配列も同様です)でクエリできますか?取得データにはappleまたはorangeのいずれかの値が含まれていますか?by DynamoDB query by Node.jsの配列からの値の1つが含まれています

row1 | "category": [apple, orange, banana, watermelon] 
row2 | "category": [banana, watermelon] 
row3 | "category": [orange, watermelon] 

私はappleまたはorangeのいずれかを含む結果としてrow1, row3得ることを期待。

答えて

1

CONTAINS機能を使用すると、リストの値を確認できます。ただし、複数の値をチェックする場合は、それぞれの値にの論理OR条件を使用する必要があります。

リストにはCONTAINSがサポートされています。「aコンテナb」を評価する場合、「a」 はリストになります。ただし、「b」は、セット、マップ、またはリストにすることはできません。

例: -

var params = { 
    TableName : 'tableName', 
    FilterExpression: "contains (category, :category1) OR contains (category, :category2)", 
    ExpressionAttributeValues : { 
     ':category1' : "apple", 
     ':category2' : "orange" 
    } 
}; 

注: -

は、私はあなたがスキャンAPIを使用しようとしていると仮定。クエリAPIを使用している場合は、KeyConditionExpressionを含めてください。

+0

ありがとうございました!うまくいく! :) – Ohsik

関連する問題