簡體   English   中英

Firebase - 無法插入新數據,不斷更新根節點

[英]Firebase - Unable to insert new data, keeps updating root node

我的 firebase 實時數據庫是這樣的:

https://......
      |
      |
      transaction
      |
      |--0
         |
         |--0 -- "Name":"abc"
            | 
            |
            1 -- "Name":"def"

現在我想插入一個數據。 這是我的代碼:

firebase.database().ref("transaction/0").set(
     {
         "Name":"ghi"
     },
)

我預期的 output:

https://......
      |
      |
      transaction
      |
      |--0
         |
         |--0 -- "Name":"abc"
            | 
            |
            1 -- "Name":"def"
            |
            |
            2 -- "Name":"ghi"

我的實際 output:

https://......
      |
      |
      transaction
      |
      |--0 -- "Name":"ghi"

每次插入記錄時如何創建新節點?

要向transaction節點添加順序自動遞增鍵,您需要:

  1. 讀取整個transaction節點
  2. 確定下一個可用密鑰
  3. 編寫新密鑰,確保在此期間沒有人創建它

這可以通過使用數據庫 API 中的事務調用來完成。 這也意味着您將不得不讀寫整個transaction節點。

使用這種順序數字鍵在許多編程任務中很常見,但在 Firebase 中被認為是一種反模式。 要詳細了解為什么會這樣,以及為什么首選使用 Firebase 的本機push操作,請查看最佳實踐:Firebase 中的 Arrays

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM