2017-04-10 15 views
1

여러 ID가 포함 된 NSArray이 있습니다. 배열에있는 ID를 가진 모든 객체를 얻을 수있는 방법이 Firebase에 있습니까?iOS (iOS) 목록을 사용하는 Firebase 쿼리

나는 근처 레스토랑을 검색하기 위해 GeoFire을 사용하는 레스토랑 등급 앱을 만들고 있습니다. 내 문제는 GeoFire이 근처에있는 레스토랑의 ID 목록 만 반환한다는 것입니다. ID가있는 모든 개체를 쿼리 할 수있는 방법이 있습니까?

답변

1

아니요, Firebase에서와 같은 배치 쿼리를 수행 할 수 없습니다.

레스토랑 ID를 반복하고 observeSingleEvent을 사용하여 각 레스토랑 ID를 쿼리해야합니다. 예를 들면 : 당신이 성능에 대해 걱정하는 경우

let restaurantIDs: NSArray = ... 
let db = FIRDatabase.database().reference() 
for id in restaurantIDs as! [String] { 
    db.child("Restaurants").child(id).observeSingleEvent(of: .value) { 
     (snapshot) in 
     let restaurant = snapshot.value as! [String: Any] 
     // Process restaurant... 
    } 
} 

는 중포 기지 그룹에 모든 observeSingleEvent 호출 할 수도 있습니다 모든 후 원래의 질문에 대답 할 수 있습니다 서버에 일괄로 보내 ;-)

+0

이러한 호출을 결합 할 방법이 없으며 필요하지 않습니다. http://stackoverflow.com/questions/35931526/speed-up-fetching-posts-for-my-social-network-app-by-using-query-instead-of-obse/35932786#35932786을 참조하십시오. –