基本的に、私のアプリには、賛成票/反対票を投じることができる場所に基づく投稿があります。指定された地域にあり、過去 24 時間に作成された上位 15 件の賛成票を返すクエリを作成する必要があります。SQLのバックグラウンドから来て、JSON形式とfirebaseの組み込みの順序によるクエリとフィルタリングオプションを使用すると、これを行うのが不必要に難しいことがわかりました。多くのクライアント側のフィルタリングが必要になる可能性が高いことを認識しているため、クライアント側のフィルタリングを最小限に抑えるには、JSON 構造とクエリ形式をどのようにするかを尋ねています。これまでのところ、これは私のJSON形式がどのように見えるかです:
"posts" : {
"-KPFIsDbf3WUljWvBwi-" : {
"latitude" : 33.64114800203589,
"longitude" : -116.4236003651668,
"time" : 1.47129994542173E12,
"uid" : "wjXpBBJMBVPvRVG48fFkerAw6TD3",
"upvotes" : 0
},
Geofire を使用してみましたが、残念ながら地域ごとにクエリを実行する機能しかないようです。また、地域と投稿された時間 (とりわけ) でクエリを実行したいため、Geofire を使用するとうまくスケーリングできません。