2017-08-27 38 views
0

獲取的Auto-ID在我的應用我用火力地堡的childByAutoId()(SWIFT)或.push()(網絡)在下列格式插入一些數據:通過時間

- events 
    - $autoId 
     - time: 
     - name: 
    - $autoId 
     - time: 
     - name: 

$autoId是隨機生成的密鑰火力地堡做。 time是數據被推送的時代。

我想讓用戶修改每個插入條目的time。但是,我希望將節點保存在events之下,以便按照其鍵和按照Firebase在使用.push()時自然執行的時間進行排序。但是,如果他們修改time以使其實際上應以不同的順序排列,則條目將不會正確排序。

有沒有一種方法可以通過修改time生成一個id,這樣如果它被插入到events中,它會按正確的順序嗎?這樣我就可以刪除舊的條目,並在複製數據時插入新的條目。

回答

-1

由於Firebase推送ID的算法已有詳細記錄,因此可以根據特定時間戳輕鬆修改函數以生成它們。

但我建議,而不是保留必要的值作爲每個子節點的命名屬性。如果您需要能夠按創建時間和修改時間進行排序,請保留兩個單獨的屬性。這樣你就不必依賴推送ID的行爲,而是使用更明確命名的屬性來完成你所需要的。