【问题标题】:How to delete a specific child from Firebase (java)? [duplicate]如何从 Firebase(java)中删除特定的孩子? [复制]
【发布时间】:2018-08-27 22:09:12
【问题描述】:

我只想从 Firebase 数据库中删除第一个孩子 (L7jrJ6DtQWrmZsC4zvT),并使用 Android 应用中的选项。我找了好几个地方都找不到。您只有一个选项可以删除整个数据库。有人可以帮忙吗?

【问题讨论】:

    标签: java android firebase firebase-realtime-database


    【解决方案1】:

    如果我理解正确,您拥有要删除的孩子的钥匙,而这个孩子没有父母。所以你可以像这样使用单个事件监听器 -

    val ref = FirebaseDatabase.getInstance().reference
            val applesQuery = ref.child("L7jrJ6DtQWrmZsC4zvT")
            applesQuery.addListenerForSingleValueEvent(
                    object : ValueEventListener {
                        override fun onDataChange(dataSnapshot: DataSnapshot) {
                            dataSnapshot.ref.removeValue()
                        }
                        override fun onCancelled(databaseError: DatabaseError) {
                            Log.e("frgrgr", "onCancelled", databaseError.toException())
                        }
                    })
    

    这应该可以,否则请告诉我。

    【讨论】:

    • 你不需要监听器,你可以在你想删除的引用上调用removeValue()
    • 谢谢,但如果用户不认识孩子 (L7jrJ6DtQWrmZsC4zvT)?用户在应用中有一个列表,然后在列表中选择一个要删除的项目...
    • 因为在这个例子中他有一个特定的钥匙,没有父母和其他孩子需要处理,你的权利可以像你提到的那样很快完成
    • 图片中的哪个具体值需要删除?
    【解决方案2】:

    要删除单个对象,您可以直接在引用上使用removeValue() 方法,如下所示:

    DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
    rootRef.child("calendario").child("-L7jrJ6DtQWrmZsC4zvT").removeValue();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-08
      • 2020-04-07
      • 1970-01-01
      • 2019-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-17
      相关资源
      最近更新 更多