如何删除Firebase Android中最年长的孩子?
我想限制Firebase应用程序中的数据量,每次添加新的数据时,都会删除列表中最年长的子项。我搜索了有JavaScript版本的答案,我想有android版本的答案 以下是我的数据结构:如何删除Firebase Android中最年长的孩子?,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我想限制Firebase应用程序中的数据量,每次添加新的数据时,都会删除列表中最年长的子项。我搜索了有JavaScript版本的答案,我想有android版本的答案 以下是我的数据结构: "team" : { "-KgoZM4NrImLNWVaUWks" : { "player_name" : "A", "timeStamp" : "1491235598092" }, "-Kgo_2AkcqzoFr78
"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);
请使用此查询:
Query find\u old\u node\u Query=mDatabase.child(“团队”).orderByChild(“时间戳”).equalsTo(团队ID)代码>
其中teamId
是使用push()
方法添加团队时产生的键。
希望有帮助 在回调中获取节点的按键后,可以删除节点
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) {
}
});