2017-04-03 5 views
0

Ich möchte die Datenmenge in meiner Firebase-App begrenzen, indem ich jedes Mal das älteste Kind einer Liste lösche, wenn ein neues hinzugefügt wird. Ich suchte dort ist eine JavaScript-Version der Antwort und ich hätte gerne Android-Version der Antwort.Wie lösche ich das älteste Kind in Firebase Android?

Hier ist meine Datenstruktur:

"team" : { 
     "-KgoZM4NrImLNWVaUWks" : { 
      "player_name" : "A", 
      "timeStamp" : "1491235598092" 
     }, 
     "-Kgo_2AkcqzoFr78lUUI" : { 
      "player_name" : "B", 
      "timeStamp" : "1491235778718" 
     } 
    } 

Ich weiß, wie der ältesten Knoten abzufragen, aber was soll ich tun, um den Knoten zu entfernen?

Query find_old_node_query = mDatabase.child("team").orderByChild("timeStamp").limitToLast(1); 

Antwort

0

Bitte verwenden Sie diese Abfrage: Query find_old_node_query = mDatabase.child("team").orderByChild("timeStamp").equalsTo(teamId);

Wo teamId Schlüssel ist, der sich ergibt, wenn man push() Methode verwendet, um die Teams hinzufügen. Hoffe es hilft!

0

Sie können Knoten entfernen, nachdem die Drucktaste in Ihrem Rückruf des Knotens erhalten

mDatabase.child("team").orderByChild("timeStamp").limitToLast(1).addListenerForSingleValueEvent(new ValueEventListener() { 
      @Override 
      public void onDataChange(DataSnapshot dataSnapshot) { 
        mDatabase.child("team").child(dataSnapshot.getKey()).removeValue(); 
      } 

      @Override 
      public void onCancelled(DatabaseError databaseError) { 

      } 
     }); 
Verwandte Themen