2016-06-29 66 views
3

在火力地堡之間的區別,如果我想創建一個看起來唯一ID的子節點我有兩個選擇:在火力地堡什麼推childByAutoId

推送():

使用push()方法將數據追加到多用戶應用程序的列表中。每次將新的 子項添加到指定的Firebase引用時,push()方法都會生成一個唯一ID。通過爲列表中的每個新元素使用這些 自動生成的密鑰,多個客戶端 可以在不寫 衝突的情況下同時向同一位置添加子項。 push()生成的唯一ID基於時間戳 ,因此列表項自動按時間順序排序。

childByAutoId:

childByAutoId使用生成一個唯一的密鑰和 一個新的子位置返回FIRDatabaseReference它。當Firebase數據庫位置的子女 代表項目列表時,這非常有用。由childByAutoId生成的唯一 密鑰以客戶端生成的 時間戳爲前綴,以便按時間順序對結果列表進行排序。

有什麼區別?

回答

4

沒關係,他們似乎是相同的,除了他們迎合不同的平臺:

Save Data on IOS

childByAutoId:添加到數據的列表。每次調用childByAutoId時,Firebase都會生成一個唯一的ID,例如user-posts/<user-id>/<unique-post-id>

Save Data on Web

push():添加到數據的列表。每當您撥打push()時,Firebase都會生成一個唯一的ID,例如user-posts/<user-id>/<unique-post-id>

+0

'push'和'childByAutoId'確實是具有不同名稱的相同邏輯。當我們用iOS開發人員測試時,他們發現'childByAutoId'更具慣用性。順便說一句:你可以添加鏈接到你從哪裏獲得片段的文檔?這會給其他人更多的背景。 –

+0

完成!感謝您的確認! – wrecktangle