如何使用DynamoDB中的IN条件查询表

时间:2017-02-14 15:04:47

标签: node.js amazon-dynamodb aws-sdk

努力寻找一个如何查询表以返回包含给定列表中的ID的行的示例。

下面的查询会引入包含IN

var params = {
            id: '7deb3df9-552b-47a4-aef3-ad601f141d50'
        };

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

1 个答案:

答案 0 :(得分:1)

你不能使用" IN"具有KeyConditionExpression的运算符,请参阅this SO question

中的详细信息

您可能希望使用batchGetItem而不是查询,但这不是那么有效。

以下是你的参数的样子:

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) {

});