我有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
属性检查用户是否是教练。另一方面,如果我想查询所有教练怎么办?是否有可以检查对象大小的查询?
我知道这里有多个问题,但每个问题都与另一个问题有关,所以我决定将它们写在一个问题中。
答案 0 :(得分:2)
不要求集合中的每个文档都相同。如果某些用户有教练而有些没有教练,那么您可以省略文档中的coaches
对象。
在查询中,您只能返回值为>
,>=
,==
,<
或<=
的字段而不是值/字符串。与isExist
或count
没有任何相似之处。最好的选择是使用布尔值isCoach