2017-09-08 91 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