0
我的DB: 如何获取Firebase数据库中项目的最大ID?
创建新的项目是这样的:
mFirebaseDatabase.getReference(Api.CREDITS).child(String.valueOf(item.getId())).setValue(item);
,但是当我将创建一个新的项目,我需要把他的ID ...如何确定的的最后一个ID Firebase列表中的项目?
我的DB: 如何获取Firebase数据库中项目的最大ID?
创建新的项目是这样的:
mFirebaseDatabase.getReference(Api.CREDITS).child(String.valueOf(item.getId())).setValue(item);
,但是当我将创建一个新的项目,我需要把他的ID ...如何确定的的最后一个ID Firebase列表中的项目?
最简单的方法是可能的:
var latest = ref.child("credits").orderByKey().limitToLast(1);
latest.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot childSnapshot: dataSnapshot.getChildren()) {
String latestKey = childSnapshot.getKey();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.w(TAG, "onCancelled", databaseError.toException());
}
})
但是这会导致类似的问题:
T他是Firebase建议不要使用此类连续数字ID并使用推送ID的众多原因之一。
阅读documentation on dealing with lists和此博客文章:https://firebase.googleblog.com/2014/04/best-practices-arrays-in-firebase.html