私はGoogle App Engineのデータストアに取り組んでおり、イベントを管理するためのアプリを開発しています. 私は2つのエンティティを持っています:
- user
- event
- attribute eventDate
ユーザーは 1 つ以上のイベントをフォローできるので、リンク テーブルを作成します。
- UserEvent
-User key
-Event key
私の問題は、eventDate 順に並べられた、ユーザーが後に続くイベントのリストが必要なことです。
どのようにできるのか?
私は3つの解決策を見つけましたが、誰も好きではありません...
- 注文されたすべてのイベントに対してクエリを実行し、UserEvent で発生するイベントが 1 つだけあるものだけを反復して選択します(おそらく数千のイベントがあるため、ユーザーは少数しかフォローしません..)
- すべてのユーザー イベント (userKey でフィルタリング) をクエリし、結果を順序付きリストに入れます(ページネーションなしですべてのイベントを一度にロードする必要があるため、好きではありません)。
- テーブル UserEvent に属性 eventDate を追加します(イベントに 3000 人のフォロワーがいる場合、3000 人の更新を行う必要があるため、私は好きではありません...)
ありがとうアレッサンドロ