java - 使用 Firestore 获取我关注的人的帖子

标签 java android firebase google-cloud-firestore

我在移动应用上使用 Cloud Firestore。我想从我关注的用户那里获取内容。现在那些:

enter image description here

因此,我尝试使用以下查询来获取我关注的人的内容。

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/

相关文章:

android - 未决 Intent/警报第二次不起作用

firebase - Flutter Provider 仅在热重载后显示结果

java - Firebase 用户注册问题

ios - 使用正确的身份验证数据时 Firebase 权限被拒绝(显然)

eclipse - Java在win7上很慢

android - 如何在 TextField Jetpack Compose 中禁用复制/粘贴/剪切?

java - Log4j2 monitorInterval性能

java - ParseQueryAdapter 加载图像不正确

java - java中函数重载的二义性

Java 类转换异常,使用 javax xml 提供程序时出现类加载器错误?