解析 Firestore 引用
Posted
技术标签:
【中文标题】解析 Firestore 引用【英文标题】:Resolve Firestore References 【发布时间】:2018-07-05 00:36:43 【问题描述】:Firebase Firestore 在定义文档字段时具有reference
类型,允许我们通过其“文档路径”添加对另一个文档的引用。
例如,我有一个文档animals/3OYc0QTbGOTRkhXeiW0t
,其中一个字段name
的值是Zebra
。我在文档zoo/xmo5wX0MLUEbfFJHvKq6
的数组animals
中引用它。我基本上是通过将动物引用到animals
集合中的相应动物文档来存储动物园中的动物列表。
现在,如果我从 zoo
集合中查询特定文档,是否会自动解析对动物的引用?我会在查询结果中获取动物名称吗?如果没有,我怎样才能做到这一点?
【问题讨论】:
见***.com/a/47107572、***.com/a/46674073、***.com/q/48128827 【参考方案1】:Firestore 中的所有文档查询都是浅层的,这意味着对于每个请求的文档,您只能获得一个文档。
文档中的引用不会自动获取 - 您必须使用文档中的引用进行后续查询才能自行获取其他文档。
子集合中的文档也是如此——它们需要单独的查询。
【讨论】:
是否可以将动物园的参考资料与动物一起存储?这样您就可以查询动物园中的所有动物(通过参考)。这当然只有在动物是独一无二的时候才有意义(例如斑马马蒂) 您不能在同一个数据库中存储您想要对任何文档的任何引用。要了解您可以使用引用做什么,请阅读以下内容:***.com/questions/46568850/… 谢谢@DougStevenson,请问您是否知道firebase 是否添加了自动解析子查询的功能。因为firestore不会再像那样使用它了。我宁愿坚持使用 SQL Join 表。以上是关于解析 Firestore 引用的主要内容,如果未能解决你的问题,请参考以下文章