2017-04-03 8 views
0

新しいものが追加されるたびにリストの最も古い子を削除することで、Firebaseアプリのデータ量を制限したいと考えています。私は答えのJavaScript版があると私は検索し、私は答えのアンドロイド版を持っていると思います。ここでFirebase Androidで最も古い子を削除するにはどうすればいいですか?

は私のデータ構造である:

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

は、私が最も古いノードを照会する方法を知っているが、私は、ノードを削除するために何をすべきでしょうか?

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

答えて

0

このクエリを使用してください:teamIdあなたがチームを追加するpush()メソッドを使用する場合、結果のキーである Query find_old_node_query = mDatabase.child("team").orderByChild("timeStamp").equalsTo(teamId);

。 お手伝い願います!あなたのコールバックでのノードのプッシュキーを取得した後

0

あなたはノードを削除することができ

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) { 

      } 
     }); 
関連する問題