【问题标题】:Iterate, Check for condition & delete accordingly : Firebase Realtime迭代,检查条件并相应删除:Firebase Realtime
【发布时间】:2021-08-29 13:34:16
【问题描述】:

我正在使用 Firebase 实时数据库。下面是结构

问题陈述:在“用户”列表中,我需要删除拥有硬币 = 0 的孩子

到目前为止,我被困在这里

DatabaseReference deleteRef = dbref.child("Users").child("coins");

Query deleteQuery = deleteRef.orderByValue().equalTo("0");
deleteQuery.addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        if (dataSnapshot.exists()) {
            for (DataSnapshot child : dataSnapshot.getChildren()) {
                child.getRef().setValue(null);
            }
        }
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {
        throw databaseError.toException();
    }
});

任何帮助将不胜感激:)

【问题讨论】:

    标签: java android firebase firebase-realtime-database


    【解决方案1】:

    您需要按孩子coins 订购列表,如下所示:

     DatabaseReference deleteRef = dbref.child("Users");
     Query deleteQuery = deleteRef.orderByChild("coins").equalTo("0");
     deleteQuery.addListenerForSingleValueEvent(new ValueEventListener() {
         @Override
         public void onDataChange(DataSnapshot dataSnapshot) {
             if (dataSnapshot.exists()) {
                 for (DataSnapshot child : dataSnapshot.getChildren()) {
                     child.getRef().setValue(null);
                 }
              }
          }
    
           @Override
           public void onCancelled(DatabaseError databaseError) {
               throw databaseError.toException();
           }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-27
      • 2022-11-17
      • 2020-05-06
      • 1970-01-01
      • 2020-10-06
      • 1970-01-01
      • 2018-07-16
      • 1970-01-01
      相关资源
      最近更新 更多