Firestore:将一个文档与另一个列表文档结合起来

时间:2020-09-24 22:43:12

标签: angular firebase google-cloud-firestore

我一直在使用Firestore,正在尝试在两个文档之间进行查询,这是这种情况:

  1. 我有一个名为user的文档,其中包含名称和费率属性 例如:user = {name:'homer simpson',rate 4.5}
  2. 我有一个名为events的文档,它包含idUser,名称,日期(时间戳),状态 例如:event = {name:'class one',date:'2020年9月25日,UTC-5,上午10:00:00',idUser:'1345648fdsfds',状态:'ACTIVE'}

一个用户可以有多个事件

我希望获得20个满足以下条件的用户: 一种。他们应该在今天和接下来的两个星期之间进行活动 b。它们应按费率排序

我一直在尝试对此进行查询,但实际上我没有做到这一点,也许有人可以告诉我我该怎么做或给出一些想法。

谢谢。

1 个答案:

答案 0 :(得分:0)

Firestore不提供任何类似SQL的联接。您一次只能查询一个集合。如果需要加入,则需要执行其他查询才能从另一个集合中获取匹配的文档。

由于这个原因,在NoSQL数据库中常见的是在集合之间复制数据以减少查询数量。缺点是,数据更改时必须执行多个更新。您将必须决定要采用哪种方法。