繁体   English   中英

Firebase 更新嵌套数据而不删除

[英]Firebase updating nested data without deleting

出于某种原因,在我的数据库上调用updateChildren会删除当前位于那里的所有数据。 JSON 树看起来像这样

{
  "user1" : {
    "messages" : {
      "-message1" : true
    },
    "userId" : "value"
  }
}

我试图在消息 1 下插入消息 2,但是,它所做的只是用消息 2替换消息 1

fun addToCurrentUser() {
    val user = Firebase.auth.currentUser
    val id = user?.uid
    val map: MutableMap<String, Any> = HashMap()
    map.put(message.getId(), true)
    root.child("users/" + id + "/messages/").updateChildren(map)
}

如果你想在已知位置添加新数据,你可以直接在路径上使用setValue() ,忽略路径中的任何其他内容。

root
    .child("users")
    .child(id)
    .child("messages")
    .child(message.getId())
    .seValue(true)

如果您以任何节点为目标进行更新,该位置下的所有内容都将被替换,因此最好尽可能深入地定位以进行所需的更改。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM