【问题标题】:Firebase Multilevel Child Query AndroidFirebase 多级子查询 Android
【发布时间】:2018-11-10 14:53:22
【问题描述】:

如何获取用户包含特定 Uid 的所有聊天

 Query sItemQuery = mDatabase.getReference().child("chats").limitToLast(200);

        FirebaseRecyclerOptions<ChatMetaData> options =
                new FirebaseRecyclerOptions.Builder<ChatMetaData>()
                        .setQuery(sItemQuery, ChatMetaData.class)
                        .setLifecycleOwner(this)
                        .build();

【问题讨论】:

    标签: android firebase firebase-realtime-database firebaseui


    【解决方案1】:

    您不能像这样跨多个级别进行查询。见Firebase Query Double Nested

    因此,虽然您当前的数据结构可以很容易地找到聊天中的当前用户,但它并不容易找到用户的当前聊天。

    为此,您需要添加一个额外的数据结构。比如:

    user_chats: {
      uid1: {
        chatid1: true,
        chatid2: true
      }
      uid2: {
        chatid2: true,
        chatid3: true
      }
    }
    

    有了这个额外的结构,您可以通过阅读/user_chats/$uid轻松找到当前用户的聊天记录。

    另见:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多