DyanmoDB查询以使用非分区键获取项目

时间:2018-08-09 07:06:32

标签: java amazon-web-services amazon-dynamodb aws-sdk dynamodb-queries

我需要根据订单ID(而不是分区键)从dynamodb中获取项目。

如果订单ID为 123456 (如上例中所述),我应该获得此商品。

有人可以让我知道是否有可能实现这一目标。如果是,怎么办?

DynamoDB表

@DynamoDBTable(tableName="SomeTable")
public class SomeTable {
private String id;
private String name;
private List<Order> orders;

 @DynamoDBHashKey(attributeName="id")
    public String getId() {
        return id;
    }


}

第2类

@DynamoDBDocument
public class Order {
private String id;
private String name;
}

DynamoDB表数据

 "Items": [
     {
         "orders": {
             "L": [
                 {
                     "M": {
                         "name": {
                             "S": "xyz"
                         },
                         "id": {
                             "S": "123456"
                         }
                     }
                 }
             ]
         },
         "id": {
             "S": "789"
         },
         "name": {
             "S": "abcd"
         }
     }

1 个答案:

答案 0 :(得分:0)

执行public void registerTorchCallback (CameraManager.TorchCallback callback, Handler handler)而不是Scan https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Scan.html

进行扫描时,您的Query必须是AttributeValue,而不仅仅是String Set

在您的String中,将条件FilterExpressionCONTAINS一起使用 https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Condition.html