firebaseデータベースを、あるオブジェクトから別のオブジェクトに参照されるフラットモデルに再構成しました。以下の例のように、IDに基づいて顧客オブジェクトから関連ユーザーを参照します。firebaseリアルタイムデータベースから子データを取得
何らかの理由で、私は 'customer/1510925e-0541-474f-93c1-10890934fda9'のパスを指定すると、ユーザーオブジェクトのデータが返されることを期待しています。
顧客レコードを一覧表示する際にユーザーデータにアクセスするロジックとは何ですか?私はここで何が欠けていますか?
"customer" : {
"1510925e-0541-474f-93c1-10890934fda9" : {
"users" : {
"LlMNVWXvzLhmP24AKVciM2PvPVy2" : true,
"Q4sM188BgwRGYhJUiLDqgAzGGX72" : true
},
"name" : "NiceCustomer"
},
"634f6b10-1def-496d-af44-834ae3c69c27" : {..customer2.},
"a7ca5d01-757c-4534-a9e1-154c53d160a7" : {..customer 2 etc.}
}
:
は偉大な説明についてはFirebaseドキュメントを参照してください。私はそれを取得し始める。特定の顧客からすべてのユーザーをフェッチして、顧客レコードを取得する必要があるとします( 'customer/')。次に、顧客レコードがありますが、その特定の顧客のユーザーリストを取得するにはどうすればいいですか? 'customers/'/users配列のユーザーのリストを使用して 'users /'パスのレコードを取得していますか? これは2回のコールになりますか?最初のフェッチでユーザーレコードが返されないのは正常ですか? –
Mark
通常、ユーザーレコードは「customer」パスに対してフェッチされて返されません。そして、はい、そのクエリを行うための1つの方法は、最初に顧客レコードを取得し、次にユーザーのリストを使用して '/ user'パスをクエリしてさらなるデータを取得することです。 Firebaseデータベースを使用してレコードを検索する方法について私が気に入っているのは、ここです:https://firebase.google.com/docs/database/admin/retrieve-data#section-queries – HondaGuy