2017-02-14 7 views
1

指定されたリストのIDを持つ行を返すためにテーブルを照会する方法の例を見つけるために苦労します。以下のクエリがINDynamoDBでIN条件を使用してテーブルを照会する方法

あなたがKeyConditionExpressionで「IN」演算子を使用することはできません
var params = { 
      id: '7deb3df9-552b-47a4-aef3-ad601f141d50' 
     }; 

     var p = { 
      TableName: 'players', 
      KeyConditionExpression: 'id IN (:id)', 
      ExpressionAttributeValues: buildQuery(params) 
     }; 

答えて

1

を含めることにスロー

、あなたがbatchGetItemの代わりにクエリを使用したい場合がありthis SO question

で詳細を参照してください。それはそれほど効率的ではありません。

var params = { 
    RequestItems: { 
     'players': { 
     Keys: [{ 
      id: "7deb3df9-552b-47a4-aef3-ad601f141d50", 
      rangeKey: "<range key 1>" // <--- if your table has a range key, you must specify its value here 
     }, { 
      id: "<ANOTHER ID 2>", 
      rangeKey: "<range key 2>" 
     }, { 
      id: "<ANOTHER ID 3>", 
      rangeKey: "<range key 3>" 
     }] 
     } 
    } 
}; 
dynamodbDoc.batchGet(params, function(err, data) { 

}); 
:ここ

は、あなたのparamsは次のようになります方法です

関連する問題