java—是否可以比较firestore中的两个集合?

wrrgggsh  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(351)

我正在用java开发一个android应用程序,使用firestore,这是一个社交网络,我收集了所有的帖子。我试图只显示那些属于followed用户的帖子,所以我做了一个查询来显示所有按时间戳排序的帖子,但是我不知道是否可以通过与“user”中的“followed”集合进行比较来过滤它们。
主集合“users”有文档,每个文档都是一个用户,每个用户内部都有一个子集合“followed”,其中包含被跟踪的用户,每个文档都是一个用户,文档id与用户id相同。
posts存储在另一个名为posts的主集合中,因此我需要将“posts”文档中的id user与子集合“followed”中文档的id进行比较。我希望有人能帮我,我花了很多时间,但什么也找不到,谢谢。

wh6knrhe

wh6knrhe1#

firestore不能像您在这里描述的那样“连接”集合中的文档。在sql中这是相对简单的(如果您的服务器有足够的内存),但是firestore(和其他nosql数据库)并不是为此而构建的,因为它的分布式特性和它需要扩展的方式。
唯一的方法是编写代码来读取每个需要比较的集合中的每个文档,并与内存中的文档进行比较。

相关问题