2017-04-10 2 views
1

複数のIDを含むNSArrayがあります。 Firebaseで、配列のIDを持つすべてのオブジェクトを取得できる方法はありますか?ids(iOS)のリストを使用したFirebaseクエリ

近くのレストランを検索するには、GeoFireを使用するレストラン評価アプリを作成しています。私の問題は、GeoFireは近くにあるレストランのIDのリストだけを返すということです。 IDを持つすべてのオブジェクトを照会できる方法はありますか?

答えて

1

いいえ、Firebaseのようなバッチクエリを実行することはできません。

レストランIDをループして、それぞれobserveSingleEventを使用してクエリする必要があります。例えば:あなたは、パフォーマンスを心配している場合

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... 
    } 
} 

は、Firebase グループにすべてのこれらのobserveSingleEventの通話ができるかもしれませんし、すべての後にあなたの元の質問に答えることがサーバーにバッチとして、それらを送信;-)

+0

これらの呼び出しを組み合わせる方法はありません。必要なものはありません。 http://stackoverflow.com/questions/35931526/speed-up-fetching-posts-for-my-social-network-app-by-using-query-instead-of-obse/35932786#35932786を参照してください。 –

関連する問題