【问题标题】:Remove Firebase Node with Specific Child Value删除具有特定子值的 Firebase 节点
【发布时间】:2019-12-28 17:33:43
【问题描述】:

我有以下 firebase 数据库结构。我需要删除具有特定 dMoble 值的整个键

我试过下面的代码,但它不起作用

 String emailID= singleToneClass.getInstance().getData();

 mDataBase=FirebaseDatabase.getInstance();
 mReferenceBooks=mDataBase.getReference("books");                       

 mReferenceBooks.orderByChild("dMoble").equalTo(emailID)
 .addListenerForSingleValueEvent(new ValueEventListener() {
                                @Override
                                public void onDataChange(DataSnapshot dataSnapshot) {
                                    mReferenceBooks.child(dataSnapshot.getKey()).removeValue();
                                }

                                @Override
                                public void onCancelled(DatabaseError databaseError) {

                                }
                            });

【问题讨论】:

    标签: java android firebase firebase-realtime-database


    【解决方案1】:

    改变这个:

    @Override 
    public void onDataChange(DataSnapshot dataSnapshot) {
         mReferenceBooks.child(dataSnapshot.getKey()).removeValue();
         }
    

    进入这个:

    @Override
      public void onDataChange(DataSnapshot dataSnapshot) {
      for(DataSnapshot ds : dataSnapshot.getChildren()){
    mReferenceBooks.child(ds.getKey()).removeValue();
       }
    

    您的参考位于节点books,要访问key,您需要在其中进行迭代,然后使用getKey()

    【讨论】:

      猜你喜欢
      • 2021-11-07
      • 1970-01-01
      • 2019-12-05
      • 1970-01-01
      • 2019-05-22
      • 2015-04-25
      • 2018-07-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多