問題タブ [amazon-dynamodb-index]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
amazon-dynamodb - 複数のフィールドのハッシュを使用して DynamoDB グローバル セカンダリ インデックスを作成する方法を教えてください。
私にとって、「ハッシュ」という言葉は、DynamoDB 内の複数のフィールドで構成されるハッシュが可能であることを示しています。ただし、私が見つけたすべての記事は、単一の値のみで構成される「ハッシュ」を示しています...これは私には意味がありません。
私のテーブルは次のフィールドで構成されています。
- uid (PK)
- プロバイダー
- 識別子
- から
- に
- date_received
- date_processed
目標は、アプリがデータを取得する方法に基づいて複数のインデックスを作成することです (もちろん、PK 以外で)。組み合わせは次のとおりです。
プロバイダーのメッセージ識別子による:必要な
ハッシュ: プロバイダー + 識別子会話メッセージ識別子による:
望ましいハッシュ: from + to受け取った日付までに処理された場合
希望のハッシュ: _ac受け取った日付までに処理された場合
希望のハッシュ: アカウント
これは、私が試して成功しなかったものの例の1つです...
amazon-web-services - 単一の DynamoDB テーブルで 3 つのエンティティの結合をモデル化する方法は?
単一のテーブル設計を使用して DyanamoDB で作成したい単純なリレーショナル モデルがあります。モデルはレストラン レビュー アプリ用です。
エンティティは次のとおりです。
- ユーザー => user` には 1 対多のレビューがあります
- レビュー => レストランには 1 対多のレビューがあります
- レストラン => レビューには 1 人のユーザーがいます
ユーザーにはemail
とがありますdisplayName
アクセスパターン:
- 1 人のユーザーのすべてのレビューを一覧表示する
- レストランのレビューを一覧表示する
displayName
レビューを作成したユーザーの を持つレストランのすべてのレビューを検索します。
私は苦労しています 3: レビューdisplayName
を作成したユーザーのレストランのすべてのレビューを検索します。
displayName
レビュー アイテムに保存することはできますが、ユーザーが を更新した場合は、displayName
すべてのレビューをこの displayName で更新する必要があります。
restaurant
review
接続方法とuser
単一のクエリで苦労しています。私が得た最も近いものは次のとおりです。
上記のデザインの GSI を使用して、パターン 1 と 2 を満たすことができますが、3 は満たせません。また、レビューがレストランに関連するようにデザインを反転しようとしましたが、満足のいくパターン 3 に到達することはできません。
単一のクエリで、単一のテーブル設計で私がやろうとしていることは可能ですか? うまくいく2つのクエリでこれを行うことができたとしても。
ここでアドバイスをいただければ幸いです。
amazon-dynamodb - DynamoDB のセカンダリ インデックスは一意ではありませんか?
パーティションキーのみ(ソートキーなし)でセカンダリインデックスを設定したのですが、実際には同じパーティションキーで複数の項目を挿入できることがわかりました。
セカンダリ インデックスのパーティション キーを使用してクエリを発行すると、パーティション キーが指定されたパーティション キーの値と等しいすべてのアイテムが取得されます。
DynamoDB初心者です、パーティションキーのみでセカンダリインデックスを設定するか知りたいのですが、同じパーティションキーで複数項目を挿入するのが良いと思います。
私は Amplify.js を使用しており、次の GraphQL スキーマがあります。
ご覧のとおり、テーブルには (並べ替えキーなしで)パーティション キーが関連付けられCareer
たセカンダリ インデックスがあります。しかし、私は通常の aを照会できます。byOwner
owner
careers
UserMeta
従来の RDBMS では、インデックス列を同じにすることはできません。DynamoDB でこれが可能である理由がわかりません。これは DynamoDB でのベスト プラクティスですか??
byOwner
インデックスにソートキーを設定する必要がありますか? 多分ソートキーはid
列になることができますか?