2016-07-28 5 views
0

私はFirebaseを使用してAndroidアプリケーションを作成しています。私がすでに理解しているように、Firebaseは1つのプロパティのクエリだけをサポートしているので、order...コールをチェーンすることはできません。ほとんどの場合に提案されている解決策は、各項目のプロパティの組み合わせか、セカンダリインデックスを作成することです(たとえば、see here)。重複データのFirebaseクエリ

しかし、これはほとんどの場合、equalTo()リクエストの場合に機能します。私の場合は、(私は信じている、と非常に共通することができます)以下の通りです:

|- events 
| | 
| |- event1 
| | | 
| | |- name 
| | |- startDate 
| | |- endDate 
| | 
| |- event2 
| | | 
| | |- name 
| | |- startDate 
| | |- endDate 
| | 

今、私は日付範囲の重複クエリをしたい - (イベントは、数ヶ月にわたりまたがるかもしれません)来月私のすべてのイベントを与えます。

クライアント側の処理やフィルタリングをしなくても、Firebaseでこれは何とかできますか? DBに作成できるトリック/組み合わせ/インデックスの種類は何ですか?

フィルタリングをサポートしていないFirebaseUIアダプタでクエリ結果を使用したいとします。

答えて

0

簡単な方法あなた

https://github.com/davideast/Querybase

使用この

const databaseRef = firebase.database.ref().child('events'); 
const querybaseRef = querybase.query(databaseRef); 

querybaseRef.where('startDate').lessThan(endDate); 
querybaseRef.where('endDate').greaterThan(startDate); 
+0

ためそれから私は右、私は手動で交差する必要があり、結果の2セットを持っていますか?私の質問の重要な部分は** "クライアント側の処理やフィルタリングをしない" ** – frangulyan