Dynamo DB查询Java中的in子句以获取列表作为输入

时间:2019-05-21 09:06:58

标签: java amazon-dynamodb dynamodb-queries

我有一个表,该表的ID为主键,另一个参数为主键。现在我想使用id和status作为列表作为请求参数在dynamo db表中搜索元素。

         Map<String,String> expressionAttributesNames = new HashMap<>();
           expressionAttributesNames.put("#id","id");

           Map<String,AttributeValue> expressionAttributeValues = new HashMap<>();
           expressionAttributeValues.put(":idVal",new AttributeValue().withS(deviceKey));

           DynamoDBQueryExpression<Command> queryExpression = new DynamoDBQueryExpression<Command>()
                   .withKeyConditionExpression("#id = :idVal")
                   .withExpressionAttributeNames(expressionAttributesNames)
                   .withExpressionAttributeValues(expressionAttributeValues);

           if (null != status) {
                queryExpression.withFilterExpression("#status = :statusValue");
                expressionAttributeValues.put(":statusValue", new AttributeValue().withN(status));
                expressionAttributesNames.put("#status", "status");
            }
          return  mapper.query(TablData.class,queryExpression);

我可以做些什么来查询状态,例如in子句。

0 个答案:

没有答案