【问题标题】:How to query inside all children of a node on firebase?如何在firebase上查询节点的所有子节点?
【发布时间】:2016-02-12 01:59:42
【问题描述】:

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

我的 firebase 数据库是这样的:

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

同样的问题改写了,我可以搜索所有“facebook:38362728”等用户,得到令牌最高的前三名用户的列表吗?

我想在我的应用中创建排行榜。用户都由他们的用户 ID 保存,并且每个用户都有他们的个人统计信息。我想检查每个用户内部“令牌”的值,并对它们进行排序,以便显示前三个。有没有办法喜欢,url中的uid通配符,所以我可以检查它们?如果/当应用程序增长到很大时,查询每个用户以填充此列表是否会花费很长时间?我阅读了有关 .indexOn 的信息,但不确定这是否适合考虑节点结构。 提前致谢!

【问题讨论】:

标签: android firebase firebase-realtime-database


【解决方案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()); //?
    }
    // ....
});

我不是安卓开发者,所以对于不正确的代码结构,我深表歉意。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多