【问题标题】:Remove node from firebase realtime database从 firebase 实时数据库中删除节点
【发布时间】:2021-02-20 15:33:58
【问题描述】:

在尝试从 firebase 实时数据库中删除唯一节点时,该节点正在删除,但再次创建了相同的节点。在这里,我正在检查节点,如果节点可用,则删除该字段 使用节点reference.removeValue()

 val query: Query = firebaseDatabase.reference.child("members").orderByChild("resetKey")
            .equalTo(uniqueKey)
        query.addListenerForSingleValueEvent(object : ValueEventListener {
            override fun onDataChange(snapshot: DataSnapshot) {
                if (snapshot.exists()) {
                    Log.d("snapshot", snapshot.value.toString())
                    for (childSnap in snapshot.children) {
                     
                     val key= childSnap.child("resetKey").value.toString()
                        if (key.isNotEmpty() && key == uniqueKey) {
   firebaseDatabase.reference.child("members")
                     .child(childSnap.ref.key.toString())
                     .child("password")
                     .setValue(password)
      var eMail = childSnap.child("email").value.toString()
                       
                            firebaseDatabase.reference.child("members")
                            .child(childSnap.key!!)
                            .child("resetKey").removeValue()      
                        }else{
                            mCheckUniqueKeyResponse.value = 2
                        }
                    }
                } 
            }

            override fun onCancelled(error: DatabaseError) {
                Log.d("error", error.message.toString())
            }
        })

接受任何建议。

【问题讨论】:

标签: android kotlin firebase-realtime-database


【解决方案1】:

在持有节点时,我们不能更新/删除相同的节点。 因为我们有查询节点的实例。

【讨论】: