オンライン選挙アプリの一意のキー名を作成する方法がわかりません。関連エンティティの典型的なセットを次に示します。
- 1 選挙
- 5人の候補者
- 100,000 人の有権者
- 最大100,000票
ここに記載されている理由により、Voter エンティティごとに一意のキー名が必要です。電子メール アドレスは、特定の選挙の有権者に対して一意ですが、必ずしも複数の選挙にまたがるとは限りません (同じ有権者が複数の選挙に参加する可能性があるため)。
選挙が有権者エンティティの親エンティティである場合、投票者の電子メールを選挙の親と組み合わせて使用することで、一意のキーとして十分です。Voter エンティティを更新する際にトランザクションを使用する必要があるため (有権者が複数回投票できないようにするため)、 docsに従って一度に更新できる Voter は 1 つだけなので、エンティティ グループは使用したくないと思います。
別の解決策として、フォームの投票者ごとに一意のキーを作成することもできます。
E<election ID>_<voter email>
例えば、
E1001_john@example.com
これは、Voter エンティティごとに一意のキー名を作成する合理的な方法ですか?