2017-09-08 88 views
-1

我有以下結構的數據庫:火力地堡:更新問題

databse structure

我需要更新訂單的量子值,然後添加一個新的子updatedAt這將有此更新的時間戳。 我使用其中包含我想要更新的路徑的對象,然後致電ref.update(dataToBeUpdated)

問題是,我沒有更新作爲時間戳的孩子被刪除時,我打電話update() ..它的行爲就像我重寫訂單節點,而不是編輯它的一些孩子..任何幫助?

UPDATE: 以下是代碼如何看起來像: VAR dataToUpdate = {[orderPath]:{ '量':newAmount, 'updatedAt':firebase.database.ServerValue.TIMESTAMP}}返回ref.update(dataToUpdate )

+0

可能你提供更多的代碼卡,例如,你怎麼設置的值,並且更新子,ref'的'價值等。 –

+0

VAR dataToUpdate = { [orderPath]:{ '量':newAmount, 'updatedAt':firebase.database.ServerValue.TIMESTAMP } } 返回ref.update(dataToUpdate) –

回答

0

它寫完你的數據,很可能是因爲你沒有提供完整路徑。例如,如果您只提供ref.child("postID").update(update),則會覆蓋該「postID」下的所有內容。沒有看到您的數據和代碼,我無法提供確切的解決方案。如果您更新後,我可以提供更多的細節,但現在試試這個:ref.child("amount").update(newAmount)ref.child("updatedAt").update(newTimestamp)

第一個應該覆蓋舊的量,第二個應該增加孩子updatedAt與時間戳。

另一種方式是下載該訂單的所有現有數據在本地更新它,然後重新上傳整個事情。

看看在update documentation

+0

然後是什麼之間的差更新和設置..我認爲他們都會根據你的解釋做同樣的@DoesData –

+0

https://stackoverflow.com/questions/38923644/firebase-update-vs-set – DoesData