私のReact-Nativeアプリでは、値をFirebaseから取得したい特定のユーザーの配列があります。これを行う最も効率的な方法は何ですか?現在、私は配列をループし、それぞれの新しい要求(以下、関連するコード)を作っています:Firebaseからオブジェクトのグループを取得するには?
const usersRef = new Firebase(`${ config.FIREBASE_ROOT }/users`)
for (var key in usersArray) {
var userRef = usersRef.child(key);
//do stuff here
}
しかし、私は、これは非常に効率的ではありません、それはデータベースにいくつかの要求を行う感じます。配列に渡してFirebaseのアイテムを1回の呼び出しですべて取得できる方法はありますか?ありがとう。
Firebaseデータ構造:
{
"items" : [ {
"description" : "fuzzy socks",
"type" : "toy"
}, {
"description" : "bouncy ball",
"type" : "toy"
}, {
"description" : "scrabble",
"type" : "game"
}, {
"description" : "construction paper",
"type" : "crafts"
} ],
"users" : [ {
"itemList" : [ 1, 2, 3, 4 ],
"description" : "brown",
}, {
"itemList" : [ 5, 6, 7 ],
"description" : "green",
}, {
"itemList" : [ 8, 9, 10 ],
"description" : "blue",
}, {
"itemList" : [ 11, 12, 13 ],
"description" : "yellow",
} ]
}
簡素化されたユースケース:1ユースケースで、私は情報だけに約2私はFirebaseに保存されているすべてのユーザのうち、ユーザ(のを取得したい - それはだと仮定上記の構造の4つ以上のもの)。だから、私は配列importantUsers
持っている:
var importantUsers = [0, 3]
をその後、私はこれらのユーザーIDの値に関連付けられた値をデータベースに照会することFirebaseにリクエストを送信する(ので何とか結果をFirebaseに配列を渡します)。一度に複数のユーザーのためのデータベースを照会(というよりも、ユーザ0とユーザ3に別々の参照を作成する)ための
0: itemList: [1,2,3,4], description: brown
3: itemList: [11,12,13], description: yellow
私のモチベーションFirebaseに行われた複数の呼び出しを持っていないことです。戻り値は、このようなものになるだろう。これについて行く方法はありますか?
Firebaseのデータ構造を投稿できますか?テキストとして投稿してください(画像はありません)。テキストはFirebaseダッシュボード - >エクスポートボタンから取得できます。 – Jay
@Jayちょうどこれで更新されました。 – user3802348
「値を持つ特定のユーザーの配列」と言うとき、そのユーザーをユーザーと定義し、そのユーザーを特定のものにし、どんな価値があるのですか?あなたのFirebase構造には、ユーザーノードと、次にitemList(配列)と説明のキー値のペアを含む辞書の配列があり、どちらもユーザーではありません。ユーザーノードにある配列内の特定のアイテムリスト*にアクセスする方法を尋ねていますか? – Jay