首页 > 解决方案 > 如何在不覆盖孩子的情况下更新?

问题描述

考虑 Firebase 实时数据库中的现有数据

db.ref('path/to/child').once('value')

{
  "data":{
    "this":"value",
    "that":"value"
  }
}

考虑对原始数据的这个集合操作

db.ref('path/to/child').update({"data":{"this":"newValue"}})

{
  "data":{
    "this":"newValue",
  }
}

我们如何执行更新以保留未更改的数据

db.ref('path/to/child').foo({"data":{"this":"newValue"}})

{
  "data":{
    "this":"newValue",
    "that":"value"
  }
}

标签: firebasefirebase-realtime-database

解决方案


现在,您的代码告诉Firebase更新 . 相反,您应该参考要更新的最终子节点的最深路径:datapath/to/child

db.ref('path/to/child/data').update({"this":"newValue"})

请注意,我放入data了引用,而不是要更新的对象。


推荐阅读