我在移动应用上使用 Cloud Firestore。我想从我关注的用户那里获取内容。现在那些:
因此,我尝试使用以下查询来获取我关注的人的内容。
ref = FirebaseFirestore.getInstance().collection("topics");
ref.whereEqualTo("username","user1");
ref.whereEqualTo("username","user2");
但是当我使用此查询时,它只显示第一个用户 (user1) 的帖子。
如果我关注 10K 用户怎么办?从他们那里获取最新帖子的最佳方式是什么?
最佳答案
Firestore 不支持您尝试执行的此类查询。您假设添加更多对 whereEqualTo() 的调用将像逻辑 OR 一样应用,并且将返回与任何条件匹配的任何文档。在 Firestore 中,添加更多条件是逻辑 AND,这意味着所有条件都必须为真才能匹配文档。
您必须重组数据库才能支持您要执行的查询类型。这对于 noSQL 类型数据库来说很常见。不存在支持所有类型查询的单一结构。在您的情况下,您将需要记录每个用户他们关注的其他用户,并查询以获得您想要的内容。您可能需要执行多个查询才能获取案例所需的所有内容。
关于java - 使用 Firestore 获取我关注的人的帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48406580/