有人能告诉我在Firebase中是否可以同时搜索多个集合吗?我需要做的是在bio_data中搜索2009年和2010年集合中的数据(将来需要添加更多集合),并从其中一个集合中提取文档。或者,是否有办法获取文档中集合的名称列表也没关系
zsohkypk1#
Firestore没有跨集合的服务器端联接或投影的概念。每个查询或文档读取只能从单个集合获取数据,或者从与集合组查询同名的所有集合获取数据。如果需要从两个集合加载数据,则至少需要两次读取。为了更好地理解,我强烈建议观看Get to know Cloud Firestore播放列表。
nfg76nw02#
米歇尔的答案是正确的。此外,我建议您更改数据模型:您可以拥有一个唯一的子集合,并将year字段添加到该唯一集合中的文档中,而不是每年拥有一个子集合。这样就很容易按年份查询:一年、使用in运算符(最多10个相等(==)子句)的几年或所有年份。使用Collection Group查询,您甚至可以查询所有学生的所有数据。
year
in
2条答案
按热度按时间zsohkypk1#
Firestore没有跨集合的服务器端联接或投影的概念。每个查询或文档读取只能从单个集合获取数据,或者从与集合组查询同名的所有集合获取数据。如果需要从两个集合加载数据,则至少需要两次读取。
为了更好地理解,我强烈建议观看Get to know Cloud Firestore播放列表。
nfg76nw02#
米歇尔的答案是正确的。
此外,我建议您更改数据模型:您可以拥有一个唯一的子集合,并将
year
字段添加到该唯一集合中的文档中,而不是每年拥有一个子集合。这样就很容易按年份查询:一年、使用
in
运算符(最多10个相等(==)子句)的几年或所有年份。使用Collection Group查询,您甚至可以查询所有学生的所有数据。