2017-01-09 5 views
0

ソートされたデータをFirebaseデータベースからインポートしたい。Firebaseがソートしたデータをインポートする

例として: 私には小さな会社があり、私はすべての雇用主のデータをインポートする必要があります。 私はowner_01です。つまり、owner_uidの子がowner_01と一致するすべてのユーザーをインポートする必要があります。

データはウェブサイトで使用されます。つまり、javascriptを使用します。

{ 
    "Owner_users" : { 
    "owner_01" : { 
     "email" : "[email protected]", 
     "uid" : 123 
    }, 
    "owner_02" : { 
     "email" : "[email protected]", 
     "uid" : 12345 
    } 
    }, 
    "Users" : { 
    "user_01" : { 
     "Email" : "[email protected]", 
     "Name" : "asd", 
     "age" : 23, 
     "owner_uid" : 123, 
     "uid" : "asd" 
    }, 
    "user_02" : { 
     "Email" : "[email protected]", 
     "Name" : "all", 
     "age" : 49, 
     "owner_uid" : 123, 
     "uid" : "asdfg" 
    }, 
    "user_03" : { 
     "age" : 60, 
     "email" : "[email protected]", 
     "owner_uid" : 12345, 
     "uid" : "sdfzsvsvsd" 
    } 
    } 
} 

チェックthis URLデータベースが構成されている方法を確認するには:

ここでは、JSONを持っています。 更新:

HTMLコード:

<table class="mdl-data-table mdl-js-data-table "> 
    <thead> 
     <tr> 
     <th class="mdl-data-table__cell--non-numeric">Email</th> 
     <th>Age</th> 
     <th>uid</th> 
     </tr> 
    </thead> 
    <tbody id="usersData"> 
    </tbody> 
    </table> 

JSコード

var usersRef = firebase.database().ref('Users') 
var query = usersRef.orderByChild('owner_uid').equalTo('123'); 
query.on("child_added", function(snapshot) { 

    var email = snap.child("Email").val; 
    var name = snap.child("Name").val; 
    var uid = snap.child("uid").val; 

    $("#usersData").append("<tr><td" + email + "</td><td>" + name + "</td><td>" + uid + "</td></tr>"); 

}); 
+0

あなたはあなたの質問でJSONツリーの画像へのリンクを含めました。実際のJSONをテキストとして置き換えてください。このテキストは[Firebaseデータベースコンソール](https://console.firebase.google.com/project/_/database/data/)の[Export JSON]リンクをクリックすることで簡単に取得できます。 。 JSONをテキストとして検索可能にすることで、実際のデータを使ってテストしたり、答えに使用したりすることができます。一般的には、これは良いことです。 –

+0

@FrankvanPuffelenアドバイスありがとう!私はJSONツリーをアップロードしました。 – galo

答えて

1
var usersRef = firebase.database().ref('Users') 
var query = usersRef.orderByChild('owner_uid').equalTo('YOUR UID HERE'); 
query.on("child_added", function(snapshot) { 
    console.log(snapshot.val().uid); 
}); 
+0

@FrankvanPuffelen私はこれを試して、私は何かが間違っているとあなたが私を指摘してください何かを逃していると思いますか?私はHTMLとjsコード/を更新しました。 – galo

+0

'var email = snap.child(" Email ")。val' - >' var email = snap.child( "Email")。 –

+0

@FrankvanPuffelenごめんなさい。私はすべての不足()を修正しましたが、それでも私のテーブルに私がインポートしたい情報は表示されません。 – galo

関連する問題