[Firebase] javascriptでrealtimedatabaseにアクセスしてみる。

JSを使って、Firebaseにアクセスする方法を紹介します。

 
 

(0)準備。firebase.jsを読み込む。

<script src="https://www.gstatic.com/firebasejs/3.2.1/firebase.js"></script>

 

(1)まずは、Firebaseにアクセスするための基本情報をconfig設定します。

var config = {
    apiKey: 'api key',
    authDomain: ' path to your firebase domain',
    databaseURL: ' path to your firebase database',
    storageBucket: ' path to your firebase storage '
  };
  firebase.initializeApp(config);

 

(2)次に、Firebaseのデータベースに対するリファレンスを指定します。

ここまでくれば、後は好きなようにデータベースにアクセスすることできます。

var database = firebase.database();

 

(3)とりあえず、データを引っ張ってみる。

今回は posts/にアイテムが入っているとした場合、以下のようにsnapshotとしてデータを読み出し、snapshot内の各childNodeの値をforEachを使って取り出します。


firebase.database().ref('posts/').once('value').then(function(snapshot) {
    snapshot.forEach(function(child){
      console.log(child.key);
      console.log(child.val()["created"]);
    });
  });

 

※注意点として、snapshotをforEach()をつかわずにkey,value形式でforで回したりすると、大概データのオーダーが守られなかったりします。具体的には、orderbychild(“created_time”)のようにcreated_timeでオーダーソートして値を持ってきてるのに、データの読み出しが完了する前にforを回したりする性でソートしたオーダーが保持されずに、おかしなことになったりします。

 
 

他にもいろいろな使い方があるので詳しくはドキュメントを参照してみてください。