为了账号安全,请及时绑定邮箱和手机立即绑定

如何在firebase android中删除节点

如何在firebase android中删除节点

呼啦一阵风 2021-10-28 09:15:34
您好,我如何使用 java 删除 fire_base 数据库中的节点?我试过这个方法,但没有用。此图像显示节点结构 节点结构private void deleteTask (final String userName){    final DatabaseReference reference = FirebaseDatabase.getInstance().getReference("All_USER");    reference.orderByChild("userName").equalTo(userName).addListenerForSingleValueEvent(new ValueEventListener() {        @Override        public void onDataChange(DataSnapshot dataSnapshot) {            for(DataSnapshot ds :dataSnapshot.getChildren()){                String userName = (String) ds.child("userName").getValue();                reference.child(userName).setValue(null);            }        }        @Override        public void onCancelled(@NonNull DatabaseError databaseError) {        }    });}
查看完整描述

3 回答

?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

试试这个代码:


private void deleteTask (final String userName){


final DatabaseReference reference = FirebaseDatabase.getInstance().getReference("All_USER");

reference.addListenerForSingleValueEvent(new ValueEventListener() {

    @Override

    public void onDataChange(DataSnapshot dataSnapshot) {

        for(DataSnapshot ds :dataSnapshot.getChildren()){

            ds.getRef().orderByChild("userName").equalTo(userName).removeValue();

        }

    }


    @Override

    public void onCancelled(@NonNull DatabaseError databaseError) {


    }



   });

}


查看完整回答
反对 回复 2021-10-28
?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

这段代码对我有用


  private void deleteTask (final String userName){


    final DatabaseReference reference = FirebaseDatabase.getInstance().getReference("All_USER");

    reference.addListenerForSingleValueEvent(new ValueEventListener() {

        @Override

        public void onDataChange(DataSnapshot dataSnapshot) {

            for(DataSnapshot ds :dataSnapshot.getChildren()){

                if(ds.child("NewUser").child("userName").getValue(String.class).equals(userName)){

                    ds.child("NewUser").child("userName").getRef().removeValue();

                }

            }

        }


        @Override

        public void onCancelled(@NonNull DatabaseError databaseError) {


        }



    });

}


查看完整回答
反对 回复 2021-10-28
?
隔江千里

TA贡献1906条经验 获得超10个赞

您可以像这样更改代码:


 @Override

    public void onDataChange(DataSnapshot dataSnapshot) {

         if (dataSnapshot.exists()) {

                        for (snapshot in dataSnapshot.children) {

                            snapshot.reference.removeValue()


                        }

                    }

    }



查看完整回答
反对 回复 2021-10-28
  • 3 回答
  • 0 关注
  • 163 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信