尝试在 google Firestore 中跨集合查询 [重复]
Posted
技术标签:
【中文标题】尝试在 google Firestore 中跨集合查询 [重复]【英文标题】:Trying to query across collections in google Firestore [duplicate] 【发布时间】:2019-01-26 14:15:56 【问题描述】:我正在尝试根据另一个集合中保存的数据从一个集合中检索数据。如果我的出勤集合中的 userUID 等于我的学生集合中的 userUID,我想检索学生的姓名。这可能吗?
【问题讨论】:
如果你的出勤和学生收藏有相同的userId的文档,那么你可以使用WhereEqualTo(fieldName,value)
像db.collection("student") .whereEqualTo("userId", "idValue").get()
一样查询学生
我可以将两个集合的这些查询合并到一个查询中吗?或者这怎么可能
不,不可能将两个集合的查询合并到一个查询中。
【参考方案1】:
Firestore 目前无法做到这一点。 Firestore 查询仅限于单个集合中的文档。您必须执行多次获取或查询。
【讨论】:
无论如何都可以在查询中进行查询,甚至尝试检索此数据并在两个集合之间建立连接。 如我所说,编写多个查询来获取您需要的数据。 是否可以在查询中编写一个函数来检索数据。 不,您必须执行多个查询。 此外,还有什么方法可以在其他查询中编写查询【参考方案2】:根据多位 Google Firebase 工程师的说法,尽管 Firestore 文档说:
如果您需要跨集合查询数据,请使用 根级集合。
https://firebase.google.com/docs/firestore/data-model?authuser=3
我建议谷歌重写他们文档的这一部分,因为这些句子从字面上推断出相反的意思。它的内容应该是:
如果您需要跨集合查询数据,则不会发生。
【讨论】:
以上是关于尝试在 google Firestore 中跨集合查询 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
Google Firestore 是缓存文档和集合还是总是请求新的?
Python Google Cloud Firestore 错误 504 Deadline Exceeded
当尝试通过云功能连接到firestore时,为什么会出现“Expected catch()或return -error”?
(firebase.firestore 不是函数)尝试在 Firestore 中创建集合时