iT邦幫忙

2024 iThome 鐵人賽

DAY 20
0
佛心分享-IT 人自學之術

從零開始的MySQL開發旅程系列 第 20

Day20 Realtime Database 基礎用法

  • 分享至 

  • xImage
  •  

今天要來介紹Firebase的Realtime Database的基礎用法

  • 路徑
    • ref()
      • 可以用來找資料庫的路徑,如果括號中間空白沒填入的話會從根目錄開始
    • child()
      • 可以用來找子路徑
      • 可以搭配ref()做使用
  • 寫入資料
    • 設定set()
      • 概念像覆蓋,可以將資料庫原存在的值全部取代掉
      • set('')為刪除資料
        database.ref('/test').set({a:111});
        https://ithelp.ithome.com.tw/upload/images/20240908/20168759kzGawHVmnf.png
    • 更新update()
      • 針對指定的節點做更新(不會跟set一樣清空整個節點的內容)也就是說只修改相關的資料
      • 如果在資料庫中找不到要修改的路徑,會自動新增一筆資料
    • 新增push()
      • 在一個節點裡頭不斷新增資料,每次新增資料會自動產生一個節點,會自己帶入一個隨機產生的key
        資料庫.push({content:'_____'});
  • 刪除資料
    • 移除remove()
      • 移除資料庫中某個節點的資料
      • 如果該節點有子節點也想一起被移除掉的話把要移除的節點寫在ref()中在搭配.remove()就可以了
        資料庫.child('________').remove()
    • 直接設null
  • 讀取資料
    • 只讀取一次 once()

      • 為非同步的事件,要對取得的資料進行後續的操作時要寫在callback的function
    • 即時讀取 on()

      • 寫法與once大致相同(把once改成on)
      • 在執行時會一直監聽資料庫狀態,也就可以在資料庫有變動時即時回傳給使用者或正在進行偵測的網頁、應用
      • 常用在聊天室的應用程式上面

補充:可以用key、value、child的值來取得資料

  • 排序方式

    • orderBy來對資料進行排序,一次只能用一個
      • orderByChild 把取得的資料依照特定的子節點(可以是子鍵、子路徑)排序
      • orderByKey 把取得的資料依照子鍵排序,排序的方式依照資料Key的升冪來排序,也就是資料少的排前面資料大的排後面
      • orderByValue把取得的資料依照子值排序,依據資料的value來做排序,產生新的結果
  • 過濾條件-區間限制

    • startAt()大於
      • 如想要找身高高於180公分的人可以用startAt(180)
    • endAt()小於
      • 如想要找身高低於180公分的人可以用endAt(180)
    • equalTo()等於
      • 如想要找身高等於180公分的人可以用equalTo(180)
  • 資料筆數限制

    • 當資料庫的資料很多,但只想要一部份資料時可以使用
    • limitToFirst()
      • 從頭開始的前幾筆,如希望找前三筆資料可以用limitToFirst(3)
    • limitToLast()
      *從最尾端起算的幾筆,如希望找最後三筆資料可以用limitToLast (3)
  • 參考資料


上一篇
Day19 Firebase Realtime Database
下一篇
Day21 Cloud Firestore
系列文
從零開始的MySQL開發旅程30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言