如何获取用户包含特定Uid的所有聊天
Query sItemQuery = mDatabase.getReference().child("chats").limitToLast(200);
FirebaseRecyclerOptions<ChatMetaData> options =
new FirebaseRecyclerOptions.Builder<ChatMetaData>()
.setQuery(sItemQuery, ChatMetaData.class)
.setLifecycleOwner(this)
.build();
答案 0 :(得分:2)
您不能像这样跨多个级别进行查询。参见Firebase Query Double Nested
因此,虽然您当前的数据结构可以轻松地在聊天中查找当前用户,但并不能轻松地为用户查找当前聊天。
为此,您需要添加其他数据结构。像这样:
user_chats: {
uid1: {
chatid1: true,
chatid2: true
}
uid2: {
chatid2: true,
chatid3: true
}
}
使用此附加结构,您可以通过阅读/user_chats/$uid
轻松找到当前用户的聊天记录。
另请参阅: