2016-08-26 2 views
1

Firebase의 현재 데이터 디자인은 다음과 같습니다 (데이터는 단순히 "events"참조에있는 jonsons의 목록입니다). 필드 시간 소인, 조치 및 기간은 고정되어 있으며 나중에 추가되는 선택적 필드가 더있을 수 있습니다.타임 스탬프를 사용하여 Firebase 데이터 쿼리하기

backend-7f34e 
    events 
     -KQ30Lc6lasdfasdfAi1URf 
      action: "Get ready" 
      duration: 100 
      timestamp: 1472167504389 

     -KQ30MM8Fgasdf_o10TW 
      action: "Run" 
      duration: 1890 
      timestamp: 1472167507411 

타임 스탬프 범위 [start, end]에서 데이터를 검색 할 수 있어야합니다. 키로 타임 스탬프를 사용해야합니까? 데이터를 구조화하는 더 좋은 방법은 무엇입니까?

+2

당신은 orderByChild'와 현재의 구조를 조회 할 수 있습니다 ("타임 스탬프")'. https://firebase.google.com/docs/database/android/retrieve-data#sorting_and_filtering_data (Android의 경우) 또는 사용중인 기술에 대한 문서를 참조하십시오. –

답변

1

사용 OrderByChild는

DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference(); 
DatabaseReference eventsReference = databaseReference.child("events"); 

Query query = eventsReference.orderByChild("timestamp").startAt(1472167504389); 
query.addValueEventListener(new ValueEventListener)..... 
.... 

StartAt는 그에 따라 데이터를 구조화 때문에, 인수로 더블 소요 startAt 및 endAt과 함께.

더 많은 정보 - https://www.firebase.com/docs/web/api/query/startat.html

관련 문제