それぞれの要素が2つの条件を満たすFirebaseデータベースから値のリストを返すことができるのだろうかと思います。例えば条件が2つあるFirebaseデータベースを照会
、私のデータベースは、このように見えた場合:
MYAPP
|_______________items
| |_____OshwYF72Jhd9bUw56W7d
| | |
| | |__item_name:"plank_5"
| | |__length:"120"
| | |__width:"50"
| |
| |_____KbHy4293dYgVtT9pdoW
| |_____PS8tgw53SnO892Jhweh
| |_____Gicuwy8r23ndoijdakr
|
|___customers
そして私は100から150の間との間の幅の長さを持っているすべての項目のitem_name
のためのデータベースを照会したいです30- 70、Firebaseのクエリでこれを行う方法はありますか?
私はここで答えを読んだ:Query based on multiple where clauses in firebaseしかし、それは複数のbetween
/range
節を扱っていない。これは私が上記のシナリオで必要とするものである。
私はこのプラグインを別の答えで見ました:https://github.com/davideast/Querybaseしかし、where
節は値の範囲を取っていないようです。例:
const queriedDbRef = querybaseRef
.where({
length: (between 100-150),
width: (between 30-70)
});
このようなクエリも可能ですか?または、1つの条件に一致するすべての項目を取得してから、Javascriptを使用してクライアント側に2番目の条件を適用する必要がありますか?
これは本当に面白い@フランク - バン - パフュレンです!あなたの詳細な答えをありがとう。私はあなたのアドバイスを取ってきて、最後の日にgeoFireを学ぼうとしていましたが、geoFireクエリーからIDを返すことに少し問題がありました。あなたがここでそれを見ることができるかどうか疑問に思っていました。http: //stackoverflow.com/questions/42275999/firebase-geofire-how-to-return-an-array-of-ids-within-a-rangeこれもありがとう! – Emily
ほとんどの場合、Geofireは、箱の外で思っていて、努力するのに喜んでいると思われる場合、一見不可能なことがどのように可能であるかの例として使用されています。 1つは、並べ替えが可能なように、1つの文字列で経度と緯度を組み合わせることは決して考えられませんでした。幸いなことに、length * widthはやや計算が簡単でした。 :-) –