关于在Firebase数据上运行查询与不使用查询类访问数据之间的区别,这是一个广泛的问题。
DatabaseReference myRef = database.getReference("Users");
Query exampleQuery = myRef.orderByChild("age");
exampleQuery.addChildEventListener(new ChildEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot postSnapshot: dataSnapshot.getChildren()) {
// Do something...
}
}
});
看着它并阅读到必须在DataSnapshot上递增,这让我想知道它是否与下面示例中返回的DataSnapshot不同,如果不同,那么将查询类视为在使用它之前向数据添加排序和过滤的中介是否正确,因此在不使用查询类时添加for循环是否正确,如以下示例所示?
DatabaseReference myRef = database.getReference("Users");
myRef.addChildEventListener(new ChildEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot postSnapshot: dataSnapshot.getChildren()) {
// Do something...
}
}
});
我意识到这个问题可能看起来很琐碎,但我没有遇到在查询类不存在时使用for循环的示例,因此我想确认这两者没有联系在一起。