Firestore - 如何处理文档对象内的查询?

时间:2018-04-13 09:29:38

标签: typescript google-cloud-firestore

我有users集合。 users的单个文档就是这样构建的:

interface User {
  coaching?: {
    sampleOfCoach: Coaching
    anotherSample: Coaching
  }
  displayName: string;
  email: string;
  isCoach: boolean;
  photoURL: string;
  uid: string;
}

我想只获取users集合中包含以下内容的文档:

  • isCoach: true
  • coaching.{nameOfCoach}

这引出了另外两个问题。

首先,在firebase文档中,他们建议为同一个集合中的所有文档保留相同的结构。这意味着,我应该将coaching属性保存在非教练用户文档中。

第二,一方面,isCoach属性是redundent,因为我可以根据coaching属性检查用户是否是教练。另一方面,如果我想查询所有教练怎么办?是否有可以检查对象大小的查询?

我知道这里有多个问题,但每个问题都与另一个问题有关,所以我决定将它们写在一个问题中。

1 个答案:

答案 0 :(得分:2)

不要求集合中的每个文档都相同。如果某些用户有教练而有些没有教练,那么您可以省略文档中的coaches对象。

在查询中,您只能返回值为>>===<<=的字段而不是值/字符串。与isExistcount没有任何相似之处。最好的选择是使用布尔值isCoach