0

パーティション キーおよびソート キーとして構成される主キーを持つstaffテーブルがあるとします。一方、ソートキーとしてローカルセカンダリインデックスがあります。organization_idstaff_iddepartmentdepartment_id

{
  ...
  KeySchema: [
    { AttributeName: "organization_id", KeyType: "HASH"},
    { AttributeName: "staff_id", KeyType: "RANGE" }
  ],
  LocalSecondaryIndexes: [
    {
        IndexName: "department",
        KeySchema: [
            { AttributeName: "organization_id", KeyType: "HASH"},
            { AttributeName: "department_id", KeyType: "RANGE" }
        ],
        Projection: {
            ProjectionType: "KEYS_ONLY"
        }
    }
  ],
  AttributeDefinitions: [
    { AttributeName: "organization_id", AttributeType: "S" },
    { AttributeName: "staff_id", AttributeType: "S" },
    { AttributeName: "department_id", AttributeType: "S" }
  ]
  ...
}

簡単に理解できるように、同じインデックス キーstaff_idを共有するさまざまなアイテムが多数存在します。department指定された組織の部門のリストを照会する必要がありますorganization_idstaffこのリストをテーブルから取得する方法はありますか? departments別のテーブルを維持することは好みません。私は DynamoDB を初めて使用するので、テーブルの全体的な設計についてコメントやアドバイスがあれば、大歓迎です。

4

1 に答える 1