2017-02-07 19 views
0

Firebaseデータベースに浅いデータ構造を実装します。私は2つの子ノードを持っています。最初の子ノード(users)には、2番目の子ノード(items)からのitemIDのリストを持つuserIDがあります。Firebaseデータベース子ノードBで指定された子ノードAからオブジェクトを取得しています

ユーザーリストに指定されているアイテムリストのアイテムをUITableView/RecyclerViewに設定するにはどうすればよいですか?ログインしている各ユーザーにはそれぞれ独自のアイテムがあり、それらをitemsリストから取得したいとします。 FirebaseUIでそれを行うことはできますか?

ソリューションは、サポートされているプラ​​ットフォームでも利用できます。私はそのアイデアを得たいだけです。

{ 
 
    "users" : { 
 
    "97csAjE3dIZxZ5t3LbgxbaSOgxl2" : { // userID 
 
     "TQjEnGjiRNsYL9" : { // each key is an itemID 
 
     "etc" : "..." 
 
     }, 
 
     "VPHYi6xhrYsAwK" : { 
 
     "etc" : "..." 
 
     }, 
 
     "WbnrFVDdfB9iJj" : { 
 
     "etc" : "..." 
 
     }, 
 
     "xB9UgakhHkNzid" : { 
 
     "etc" : "..." 
 
     } 
 
    } 
 
    }, 
 
    "items" : [ { 
 
    "_id" : "vCG3furXeUnZpK", // Eventually I'll make this _id into the item key 
 
    "etc" : "..." 
 
    }, { 
 
    "_id" : "WbnrFVDdfB9iJj" 
 
    }, { 
 
    "_id" : "xB9UgakhHkNzid" 
 
    }, { 
 
    "_id" : "VPHYi6xhrYsAwK" 
 
    }, { 
 
    "_id" : "TQjEnGjiRNsYL9" 
 
    }, { 
 
    "_id" : "Bor6VhCyqxZHpb" 
 
    }, { 
 
    "_id" : "iQnMmNy2fbrvYn" 
 
    } ] 
 
}

+0

を使用してアイテムの詳細を取得するあなたは私のfirebaseからJSONデータ構造を示すことはできますか? –

+0

あなたが尋ねている実際のJSONのスニペットをテキストとして([Firebaseデータベースコンソール](https://console.firebase.google.com/project/_)の[JSONの書き出し]をクリックして取得できます) /データベース/データ/))。あなたがすでに試したことを示すなら、歓迎することもできます。そうすれば、私たちはその答えを結びつけることができます。 –

+0

@JdPrajapati JSONスニペットを追加しました – Ronen

答えて

1

まず、現在のユーザーIDと店舗IDのitemIDをどこかに取得します。

let itemIDArray = [String]() 

は現在、各アイテムIDについては、以下のコード

// database reference 
ref.child("items").child(itemID).observeSingleEvent(of: .value, with: {(snapshot) in 

} 
0

あなたは子ノードとfirebase条件を使用して、特定のユーザーのためのデータを得ることができることができます。

database.child(Table). 
     orderByChild("user/id") 
     .equalTo("somevalue"). 
関連する問題