【发布时间】:2019-06-11 23:35:18
【问题描述】:
我只想从最后 50 个节点中找到最大值。我曾经使用 orderByChild 和 limitToLast 方法,但它从所有节点中找到最大值,而不仅仅是从最后 50 个节点中找到。 这是我的数据库:
还有我的代码:
database = FirebaseDatabase.getInstance();
reference = database.getReference("sensor");
Query query = reference.orderByChild("hum").limitToLast(50);
query.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot myDataSnapshot : dataSnapshot.getChildren())
{
humTemp = myDataSnapshot.child("hum").getValue().toString();
humMax.setText(humTemp);
}
}
public void onCancelled(DatabaseError firebaseError) {
}
});
所以,如您所见,我尝试从最后 50 个节点中找到 hum 变量的最大值。 附言数据库中不断出现新节点,因此最大值应每 50 个值实时变化
【问题讨论】:
标签: java android firebase firebase-realtime-database