2017-06-29 123 views
5

我有一个理解问题dynamoDb支持通过嵌套在数组中的对象属性进行过滤。例如:Dynamodb - 通过嵌套在数组中的对象属性查询

认为我们有如下表称为“街”,其中一个项目(行)在该表具有以下结构:

{ 
    name: "Street name", 
    population: 20, 
    houses: 5, 
    people: [ 
     { 
      first_name: "FName1", 
      last_name: "LName1", 
      ... other person's properties 
     }, 
     { 
      first_name: "FName2", 
      last_name: "LName2", 
      ... other person's properties 
     }, 
     { 
      first_name: "FName3", 
      last_name: "LName3", 
      ... other person's properties 
     } 

     ... etc 
    ] 
} 

我们可以在这种情况下认为“name”是dynamodb PREFIX =这意味着我们可以根据街道名称进行查询。

我感兴趣的是dynamodb支持以下逻辑:“基于具有特定名称的街道进行查询并将其过滤为具有以下特定名称的人员。”

其结果将是类似的信息(整点是,从符合的过滤器阵列返回只有一个人/对象)

{ 
    name: "Street nameX", 
    population: 20, 
    houses: 5, 
    people: [ 
     { 
      first_name: "FNameX", 
      last_name: "LNameX", 
      ... other person's properties 
     } 
    ] 
} 

基本上的问题是,可以dynamoDb基于所述对象的属性的查询后过滤结果嵌套在数组中。

请注意,我明白我可以用不同的表格模式来实现这个功能 - 但这个例子是为了简单起见而已,它是一样的 - 将注意力集中在''dynamoDB是否支持类似这样的事情?”。

回答