2017-06-29 120 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是否支持類似這樣的事情?」。

回答