如何查询firebase上节点的所有子节点内部?

时间:2016-02-12 01:59:42

标签: android firebase firebase-realtime-database

如何查询我的用户ID以比较每个人的统计信息?

我的firebase数据库是这样的:

   " <URL>.firebase.com/" {
        "users/"
            "facebook:283638484/"
                "name/"
                "tokens/"
                "spins/"
            "facebook:283478133/"
                "name/"
                "tokens/"
                "spins/"

同样的问题改写,我可以搜索所有&#34;脸书:38362728&#34;等用户,以获得具有最高代币的前三名用户的列表?

我想在我的应用中创建排行榜。用户全部按用户ID保存,每个用户都有自己的个人统计信息。我想查看&#34;令牌的价值&#34;在每个用户内部,并对它们进行排序,以便显示前三个。有没有办法在网址中使用uid的通配符,以便我可以查看所有内容?如果/当应用程序增长到一个大的大小时,会查询每个用户填充此列表,需要多长时间?我读到了.indexOn,但不确定这是否适合考虑节点结构。 提前谢谢!

1 个答案:

答案 0 :(得分:1)

如果我正确理解了这个问题,我将提供一个简化的结构:

users
  user_id_0
    tokens: 20
  user_id_1
    tokens: 5
  user_id_2
    tokens: 12

然后检索前两个(基于排序顺序)

Query queryRef = ref.orderByChild("tokens").limitToFirst(2);
queryRef.addChildEventListener(new ChildEventListener() {
    @Override
    public void onChildAdded(DataSnapshot snapshot, String previousChild) {
        System.out.println(snapshot.getValue()); //?
    }
    // ....
});

我不是Android开发人员所以我对错误的代码结构道歉。