パーティション キーおよびソート キーとして構成される主キーを持つstaff
テーブルがあるとします。一方、ソートキーとしてローカルセカンダリインデックスがあります。organization_id
staff_id
department
department_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_id
。staff
このリストをテーブルから取得する方法はありますか? departments
別のテーブルを維持することは好みません。私は DynamoDB を初めて使用するので、テーブルの全体的な設計についてコメントやアドバイスがあれば、大歓迎です。