2016-07-28 4 views
0

나는 Firebase를 사용하여 Android 앱을 작성하고 있습니다. 이미 알고 있듯이 Firebase는 하나의 속성에 대한 쿼리 만 지원하므로 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

I, 바로 내가 수동으로 교차 할 결과의 2 개 세트가? 내 질문에 핵심 부분은 ** "클라이언트 측 처리 또는 필터링없이 **"입니다 ** – frangulyan