使用Android删除Firebase中的元素 [英] delete element in firebase with android

查看:71
本文介绍了使用Android删除Firebase中的元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个firebase数据结构,如下所示:

I have a firebase data structure which looks like this:

    |---employees
         |----KJSXd4ScEmJ6N4UFc5k 
             |---employeeName:"semah"
             |---employeeAge:"24"
         |----KJW3HRh5kxm_FgU9nNV
             |---employeeName:"Alex"
             |---employeeAge:"35"

现在,我要删除节点-KJSXd4ScEmJ6N4UFc5k.但是我只知道"employeeName":semah. 我尝试使用以下方法删除该节点:

Now I want to delete the node -KJSXd4ScEmJ6N4UFc5k. But I only know the "employeeName": semah. I tried to delete the node with:

mFirebaseDatabaseReference
.child("employees")
.child("employeeName")
.child("semah")
.getParent()
.setValue(null);

但这将不起作用,因为无效的Firebase数据库路径:$member.Firebase数据库路径不得包含.",#","$","["或]""

but this won't work because "Invalid Firebase Database path: $member. Firebase Database paths must not contain '.', '#', '$', '[', or ']'"

所以我的问题是,如何仅知道"semah"或如何通过生成的ID"-KJSXd4ScEmJ6N4UFc5k"删除元素?如何删除节点"-KJSXd4ScEmJ6N4UFc5k".

So my question is, how can I delete the node: "-KJSXd4ScEmJ6N4UFc5k" only knowing: "semah" or how to remove element by the generated id "-KJSXd4ScEmJ6N4UFc5k".

谢谢.

推荐答案

由于您没有对键KJSXd4ScEmJ6N4UFc5k的引用,因此需要检索该值,并尝试使用检索到的值ref删除它.像这样

Since you don't have the reference to the key KJSXd4ScEmJ6N4UFc5k, you need to retrieve the value and try deleting it with the ref of value retrieved. Something like this

 database.getReference("employees").orderByChild("employeeName").equalTo("semah").addListenerForSingleValueEvent(
                new ValueEventListener() {
                    @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            for (DataSnapshot child: dataSnapshot.getChildren()) {
                child.getRef().setValue(null);
            }
        }


       @Override
         public void onCancelled(DatabaseError databaseError) {
              Log.w("TodoApp", "getUser:onCancelled", databaseError.toException());
         }
});

这篇关于使用Android删除Firebase中的元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆