2017-01-03 2 views
1

FirebaseからWebアプリケーションで正しいデータを取得できません。Firebaseでネストされたデータにアクセスする

問題は、「乱数」という名前のオブジェクトに必要なデータです。すべてのフィールドを変数に変換してテストできるようにしたい、すべてのデータを表示するようにページを設定する、そんなことをしたい。しかし、私はそれらを使用するためにこれらのキーを照会する方法に迷っています。

database

は、今私は、データ構造の感触を得るために、コンソールにデータをロギングしています。 PS。私はデータを整理しなかった、誰かが私の前にそれをした。私は私の2つのコメントアウトの変数を持って

code

でも、私はデータを得ることができるかどうかを確認するために、キーのの1を入力しようとしたが、それは動作しません。

+0

あなたはより明確にする必要があります。ランダムなキーはどれですか?そしてそれをどうやって質問したいですか?特定の開いているチケットのプロパティを使用してクエリを実行しましたか? – cartant

+0

以下のopenTicketsは、名前のランダムキーを持つチケットのリストです。私はFirebaseを初めて使用しています.JSONデータに慣れていて、簡単に手に入れたいデータにアクセスできるだけです。私はコンセプトテストの証拠です。 DBとconsole.logからチケットのチケットを選びたいこの時点で私が持っているものは、Inspectorsのすべてのconsole.logを取得します。 –

答えて

3

あなたはinspectorsの下にすべてを取得している場合は、このようなデータにアクセスすることができます。

firebase 
    .database() 
    .ref() 
    .child('inspectors') 
    .once('value', function (inspectorsSnapshot) { 

    inspectorsSnapshot 
     .child('obfuscated') // This key is obfuscated in your question. 
     .child('openTickets') 
     .forEach(function (openTicketSnapshot) { 
     console.log(openTicketSnapshot.key); // The random key. 
     var val = openTicketSnapshot.val(); 
     console.log(val.address); 
     console.log(val.assignedInspector); 
     // etc. 
     }); 
    }); 

また、あなたは必要なデータのみを取得するために、クエリ自体を絞り込むことができます。

firebase 
    .database() 
    .ref() 
    .child('inspectors') 
    .child('obfuscated') // This key is obfuscated in your question. 
    .child('openTickets') 
    .once('value', function (openTicketsSnapshot) { 

    openTicketsSnapshot.forEach(function (openTicketSnapshot) { 
     console.log(openTicketSnapshot.key); // The random key. 
     var val = openTicketSnapshot.val(); 
     console.log(val.address); 
     console.log(val.assignedInspector); 
     // etc. 
    }); 
    }); 

最初のいくつかのエントリだけが必要な場合:

firebase 
    .database() 
    .ref() 
    .child('inspectors') 
    .child('obfuscated') // This key is obfuscated in your question. 
    .child('openTickets') 
    .limitToFirst(10) 
    .once(... // etc. 
+0

ありがとう、私はそれを試みます。私はあなたが2つの子供の方法を連鎖させることができるとは気付かなかった私は今何をすべきか知っていると思う。私は変数にobviscatedを取得し、そこに置く必要があります。 –

関連する問題