基本環境建立
首先請到 Firebase 建立一份新的專案,並依照下圖紅色箭頭新建一個網路應用程式。
新建完成後會給一段 script ,這是之後要在 HTML 中引入的。
註:由於新版的 Firebase 將核心程式碼獨立出來,其他功能拆分成各個模組。
會使用到 Firebase 中的 Database 功能,所以必須額外引入套件,請參照以下 script。
版本號的部分請跟 firebase-app.js 核心模組相同即可。
1 | <script src="https://www.gstatic.com/firebasejs/7.6.1/firebase-app.js"></script> |
引入檔案
開啟一份專案資料夾,並創建 index.html,將 Firebase 的 script 加入到 body 的最後面。
1 | <body> |
接下來就開始介紹 Firebase 中 Database 的各種操作囉!!
ref()、set()
ref(): 尋找資料庫路徑set(): 新增資料
在 Firebase 中,資料全部都是物件格式,不能是陣列格式
參考範例程式碼:
1 | var data = null; |
之後打開 Web Server,再切到 Firebase 後台就可以看到資料已經寫入囉!!
once()、on()
once(): 讀取一次資料庫的資料on(): 隨時監聽資料庫
註: 回傳的參數 snapshot 等於 dataSnapshot,兩者在官方文件都有出現過
參考範例:
1 | <h1 id="title"></h1> |
1 | var myNameRef = firebase.database().ref('myName'); |
同樣開啟 Web Server 會發現 5 秒前的顯示內容與資料庫相同,但 5 秒後的數字已經變成 20,確實與資料庫相同,但 title 卻依舊是 Cloud,此時資料庫已經更換成 Tom,這就是 once() 與 on() 的差異。
5秒前 Firebase
5秒後 Firebase
push()、remove()
push(): 傳入資料,必須是物件格式key: push 之後 firebase 給的唯一值remove(): 刪除資料child(): 子路徑
參考範例:
1 | var dataArray = [ |
開啟 Web Server,Firebase 就會寫入資料並將每一筆資料都帶有 key,如果要刪除特定一筆資料就在 child('key') 填入 key 接著 remove() 就能刪除資料庫資料了
orderByChild()
路徑 > 排序(‘屬性’) > 過濾 > 限制筆數 > 讀取 > forEach 依序撈出
必需搭配 forEach() 取出資料才行,
是對 dataSnapshot 做 forEach(),不是對 dataSnapshot.val()
orderByChild(): 排序(‘屬性’)startAt(): 過濾多少以上的資料endAt(): 過濾多少以下的資料equalTo(): 過濾特定數值的資料limitToFirst(): 限制比數,從頭開始算limitToLast(): 限制比數,從尾開始算
參考範例:
1 | var people = { |