簡體   English   中英

如何從 firebase android 中刪除數據

[英]How to delete data from firebase android

當我不得不刪除用戶在這張照片中輸入的數據時,我遇到了一個問題。 如果用戶輸入了注冊號60 ,那么我必須從注冊號為60的標記中刪除所有數據。

在此處輸入圖像描述

它刪除用戶輸入的數據,並從標記驗證注冊並刪除注冊為66的所有數據,這意味着刪除該文檔或節點。

我嘗試了以下不起作用的方法。

reff.child("Marks").removeValue().equals(et1);

要刪除數據,請執行以下操作:

DatabaseReference data = FirebaseDatabase.getInstance().getReference().child("Marks");
data.orderByChild("enrollment").equalTo("66").addListenerForSingleValueEvent(new ValueEventListener() {
         @Override
      public void onDataChange(DataSnapshot dataSnapshot) {
      for(DataSnapshot data: dataSnapshot.getChildren()){
            data.getRef().removeValue();

                  }

            }
        @Override
       public void onCancelled(DatabaseError databaseError) {

               }
          });

添加對子Marks的引用,然后使用查詢orderByChild您可以獲得正確的節點並將其刪除

試試這個代碼。

int enrollmentId = Integer.parseInt( et1.getText().toString() );
reff.child("Marks").orderByChild("enrollment").equalTo(enrollmentId)
.addListenerForSingleValueEvent(new ValueEventListener() {
                @Override
                public void onDataChange(@NonNull DataSnapshot dataSnapshot) 
                {
                    for (DataSnapshot ds : dataSnapshot.getChildren())
                    {
                        ds.getRef().removeValue(); 
                        Toast.makeText(context, "Deleted", Toast.LENGTH_SHORT).show();
                    }
                }

                @Override
                public void onCancelled(@NonNull DatabaseError databaseError) 
                {
                    Toast.makeText(context, "Failed to delete", Toast.LENGTH_SHORT).show();
                }
                });

    String et1 =e1.getText().toString().trim();
                    reff.child("Marks").orderByChild("enrollment").equalTo(et1)
                            .addListenerForSingleValueEvent(new ValueEventListener() {
                                @Override
                                public void onDataChange(@NonNull DataSnapshot dataSnapshot)
                                {
                                    for (DataSnapshot ds : dataSnapshot.getChildren())
                                    {
                                        ds.getRef().removeValue();
                                        Toast.makeText(getApplicationContext(), "Deleted", Toast.LENGTH_SHORT).show();
                                    }
                                }

                                @Override
                                public void onCancelled(@NonNull DatabaseError databaseError)
                                {
                                    Toast.makeText(getApplicationContext(), "Failed to delete", Toast.LENGTH_SHORT).show();
                                }
                            });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM