我正在尝试设置一个聊天应用程序,您可以在其中搜索随机用户进行交谈。现在,我在 firestore 中的数据库结构如下:
集合“users” - 文档“userID” - 集合“conversations” - 文档“conversationID” - 字段“partner”,“lastmessage”
接下来,我有一个“对话”集合,其中包含对话中的所有消息。
我现在想要做的是,当您按下按钮时,应用程序将搜索随机用户与之聊天,但当然我不想建议同一个人两次。所以我想找出他/她已经与哪个其他用户进行了对话。我相信我可以通过“合作伙伴”字段找到它,但我找不到如何为特定用户获取所有合作伙伴。
你能帮我设置正确的 Firestore“查询”来获取这些信息吗?或者生成其他链接(但后来我有重复的数据)会更好,例如:集合“用户”-文档“用户ID”-集合“合作伙伴”-带有partnerID的文档
我所要做的就是创建对我的集合的引用,查询它并循环遍历我的所有文档。(基于这个答案:https : //stackoverflow.com/a/55919881/3417559)
CollectionReference colRef = db.collection("users").document(mFirebaseAuth.getUid()).collection("conversations");
colRef.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
for (QueryDocumentSnapshot document : task.getResult()) {
Log.d("FABTAG","partnerID" + document.getString("partner"));
}
}
}
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句