基本環境建立
首先請到 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 = { |