1 of 24

Node.js 後端程式與資料庫

Firebase 儲存、更新資料

2 of 24

Firebase 的儲存、更新資料流程

3 of 24

  • 建立 Database 物件

4 of 24

2. 建立 Reference 物件,給定資料路徑

5 of 24

3. 呼叫資料操作的方法

6 of 24

4. 取得資料、或處理錯誤

7 of 24

Firebase 取得路徑參考

8 of 24

firebase.database().ref(路徑)

9 of 24

Firebase 儲存資料

10 of 24

儲存資料儲存新資料,取代舊資料

11 of 24

路徑參考.set(資料, 回呼函式)

12 of 24

app.get("/save", function(req, res){ let db=firebaseAdmin.database(); // 取得 Database 物件

let ref=db.ref("/messages/message"); // 取得 Reference 物件

ref.set("Hello", function(error){ // 存放資料到 Reference 物件代表的路徑

if(error){

res.send("Failed"); // 儲存資料失敗,回報失敗給前端

}else{

res.send("OK"); // 儲存資料成功,回報成功給前端

}

})});

13 of 24

Firebase 更新資料

14 of 24

更新資料:只更新有變動的部份

15 of 24

路徑參考.update(資料, 回呼函式)

16 of 24

app.get("/save", function(req, res){ let db=firebaseAdmin.database(); // 取得 Database 物件

let ref=db.ref("/messages/message"); // 取得 Reference 物件

ref.update("Hello", function(error){ // 更新 Reference 物件代表路徑的資料

if(error){

res.send("Failed"); // 更新資料失敗,回報失敗給前端

}else{

res.send("OK"); // 更新資料成功,回報成功給前端

}

})});

17 of 24

Firebase 刪除資料

18 of 24

路徑參考.remove(回呼函式)

19 of 24

app.get("/save", function(req, res){ let db=firebaseAdmin.database(); // 取得 Database 物件

let ref=db.ref("/messages/message"); // 取得 Reference 物件

ref.remove(function(error){ // 刪除 Reference 物件代表路徑的資料

if(error){

res.send("Failed"); // 刪除資料失敗,回報失敗給前端

}else{

res.send("OK"); // 刪除資料成功,回報成功給前端

}

})});

20 of 24

Firebase 列表資料

21 of 24

列表一串類似資料,例如「留言訊息」

22 of 24

列表資料的結構

{� "messages":{ // 列表的父節點

"0":{訊息一的資料},

"1":{訊息二的資料},� "2":{訊息三的資料},

… …

}�}

23 of 24

Firebase 儲存列表資料

24 of 24

父節點路徑參考.push(資料, 回呼函式)