当前位置: 首页 > 知识库问答 >
问题:

Android Firebase Firestore SDK:如何从一个集合中订购文档,根据另一个集合的文档字段?

公羊俊德
2023-03-14

我的想法是为帖子创建一个like&views系统(用户可以喜欢和不喜欢一个帖子),并在一个片段中显示用户列表,顺序如下:顶级用户是拥有最多喜欢的用户。

>

  • 我有一个帖子集。每个文档(是一篇文章)包含创建它的用户的ID,以及一个喜欢的计数器(我称之为“a”)。

    我有另一个集合,用户。每个文档(它是一个用户)都包含一个计数器(我称之为“B”),它计算所有帖子加起来的赞数。

    目前,我使用“B”对上面描述的用户列表中的用户进行排序。我这样使用“b”:返回FirebaseFireStore.getInstance().Collection(“users”).OrderBy(“likes”,query.direction.descending);

  • 共有1个答案

    惠凯歌
    2023-03-14

    您试图做的基本上是一个“加入”类型的操作,FireStore不支持这种操作。Firestore查询一次只能考虑单个集合中的文档。如果有来自两个集合的数据用于生成查询结果,则至少有两个查询要执行。

    唯一真正的选择是引入第三个集合,其中包含已经从其他两个集合合并的数据,以支持要进行的查询。这在NoSQL类型的数据库中很常见,被称为“非正规化”。

     类似资料:
    • 我有一个问题,但在我看来,我看到的所有解决方案都在解决一个比我更复杂的问题。 我对MongoDB比较陌生,但我一直在将它与Apache Neach一起使用来存储抓取的文档。由于我分阶段抓取,并以不同的方式评估每个抓取的结果,以获取统计数据,因此我一直将结果存储在不同的集合中。 我所要做的就是把这些收藏放在一起成为一个大的收藏,这样我就可以翻译和分类。所有字段都是相同的,因此我不需要添加任何新字段。

    • 我所处的情况是,当用户付款时,存储在Firestore集合(CartProducts)中的购物车产品应移动到名为SuccessFullOrders的新集合。 因此,我的基本问题是如何在Flutter中将所有文档从一个集合移动到Firestore的另一个集合 我不知道如何在flutter中编写代码。谢谢你的回答 这是我的代码

    • 模型feed.ts 新闻feed.component模板 news-feed.component.ts feed.service.ts 这可以做消防商店吗?我是消防商店的新手。请帮帮我。谢谢!

    • 考虑以下Firestore结构: 收藏 现在,我想查询宠物满足某些条件的人。例如,拥有两只以上宠物的人,或者拥有一只名为“ABC”的宠物的人。 这可能吗?

    • 在我的flutter项目中,我有2个两个消防库集合,一个是用户集合,我存储了所有用户详细信息,另一个集合是关注者,其中每个用户都有一个子集合,他/她的关注者用户ID作为文档。我的问题是,如何从用户收藏中检索这些关注者的详细信息? 这是我的用户收藏

    • 嗨,我从javascript和react-native开始,我花了几个小时试图解决这个问题。有人能告诉我如何从firestore收集处获得所有文件吗? 我一直在尝试这个: 日志1打印所有对象(一个接一个),但日志2没有定义,为什么?