Firebase:更新问题

时间:2017-09-08 18:38:53

标签: firebase firebase-realtime-database

我有一个具有以下结构的数据库:

databse structure

我需要更新订单量的子值,然后添加一个新的子updatedAt,它将具有此更新的时间戳。 我使用的对象包含我想要更新的路径,然后调用ref.update(dataToBeUpdated)

问题在于,当我调用update()时删除时间戳时我没有更新的孩子..它就像我重写订单节点而不是编辑它的一些子节点一样..任何救命?

更新: 以下是代码的外观: var dataToUpdate = {[orderPath]:{' amount':newAmount,' updatedAt':firebase.database.ServerValue.TIMESTAMP}}返回ref.update(dataToUpdate)

1 个答案:

答案 0 :(得分:0)

过度编写数据,很可能是因为您没有提供完整路径。例如,如果您只提供ref.child("postID").update(update),那么您将覆盖该“postID”下的所有内容。如果没有看到您的数据和代码,我无法真正提供精确的解决方案。如果您更新了帖子,我可以提供其他详细信息,但现在请尝试以下操作:ref.child("amount").update(newAmount)ref.child("updatedAt").update(newTimestamp)

第一个应该覆盖旧数量,第二个应该将子updateAst添加到您的时间戳。

另一种方法是下载该订单的所有现有数据,在本地更新它,然后重新上传整个数据。

查看update documentation