0

私はFirebaseを自分のWebサイト用のデータベースとして使用しています(これはHTML、CSS、JSを使用したWebベースのプロジェクトです)、そこからデータを取得する際に問題が発生しています。Firebaseからデータを取得する手助けが必要

基本的にこのサイトでは、キャラクターの名前、キャラクターのステータスなどを入力することができます。また、送信をクリックすると、データベースに記入した値が保存されます。

値は完全に正常に保存されますが、データを取得するときはコマンドは何もしないようです。

だから、プロファイルを得るために、私は指定された.REF(パス)で保存されているものを取得するコードのこのビットを使用しようとしてきた:

Firebaseドキュメントによると
var uid = firebase.auth().currentUser.uid; 
var getChar = firebase.database().ref('/users/' + uid + '/chars/').orderByKey(); 

.ref()で指定したパスのキーのリストを返さなければなりません。私はVARにあるものは何でもアクセスしようとするたびしかし、それはちょうど私にこのようになります。データベースへのリンクが含まれている文字列を提供します:私はFirebaseアプリで作成したURL #mydatabaseurlhereある

https://#mydatabaseurlhere.firebaseio.com/users/uid/chars 

を、 uidは認証されたユーザーのIDです。

私は、ドキュメントを読んでいると、そのは、上記のコードは、私が指定したパスにあり、これまでのところ、それはちょうど私のリンクを与えるものは何でものリストを返す必要があることを私に告げます。私がDocsに欠けていた何かが、現在データベースにあるどんなデータにもアクセスできるようになりますか? .once()を使用してスナップショットを作成しようとしたため、利用できません。私はまた、/ users /のルールを設定して、誰でもデータベースを読み書きできるようにしましたが、まだデータにアクセスできません(またはアクセスしています。

いずれかの方法で、私は私がデータベースに正常に書き込まれたデータを取り出すように見えることはできません理由として非常に混乱しているように、1つは、このデータへのアクセスについては行くことができるか疑問です。

答えて

1

あなたはです。を定義しています。しかし、まだデータを取得していません。

データを取得するには、リスナーを接続する必要があります。例:

var uid = firebase.auth().currentUser.uid; 
var getChar = firebase.database().ref('/users/' + uid + '/chars/').orderByKey(); 

getChar.on('value', function(snapshot) { 
    snapshot.forEach(function(child) { 
     console.log(child.key, child.val()); 
    }); 
}); 
+0

これはスナップショットの使用方法です。ドキュメントはちょっと混乱させました。リスナーを使用してスナップショットを使用することは、2つの異なることでした。助けてくれてありがとう! – shstyoo

関連する問題