私は、ユーザーから名前、携帯電話番号、電子メールアドレスを取得し、Firebase Realtime Databaseにデータを保存する簡単なプログラムを作成しようとしています。Firebaseデータベースからデータを取り出す方法は?
上記の操作をクリックすると3つの入力ボックスとボタンがあります。ここでは、コードは次のようになります。
<input type="text" id="name">
<input type="text" id="mobile">
<input type="text" id="email">
<button type="button" id="button" onclick="addLead()">Submit</button>
私はこのようなFirebaseを設定している:
<script src="https://www.gstatic.com/firebasejs/3.2.0/firebase.js"></script>
<script>
// Initialize Firebase
var config = {
...
};
firebase.initializeApp(config);
var database = firebase.database();
</script>
そして、ここでは私のaddLead()
機能です:
function addLead() {
var clientName = document.getElementById('name').value;
var clientMobile = document.getElementById('mobile').value;
var clientEmail = document.getElementById('email').value;
var newClientKey = database.ref().child('leads').push().key;
database.ref('leads/'+newClientKey+'/name').set(clientName);
database.ref('leads/'+newClientKey+'/mobile').set(clientMobile);
database.ref('leads/'+newClientKey+'/email').set(clientEmail);
}
これは、私は、データベースにデータを置く方法ですうまくいく。
だからnewClientKey
は挿入時に、それがうまく機能し、いくつかの文字列を生成しているが、現在はどのように取得するには?
official documentationは役に立ちません。この生成された文字列はタイムスタンプに基づいている可能性があります。そうであれば、それを再度生成することは不可能です。
電子メール、モバイル、および名前にアクセスするには、挿入時にしか使用できなかった固有の文字列を使用します。
上記の構造では、必要なデータにアクセスするために2レベル下げる必要があります。ドキュメントの不足のため、これを行う方法がわかりません。このような場合作品:
database.child().child();
「database.ref()」とは何かchild( 'leads')一度( 'value')then(function(lead){ console.log(lead.val()。email、lead.val ).mobile、lead.val()。name); }); 'コンソールで生成しますか? – Deryck
@Deryckそれは '未定義'を生成します。 –