如何通过 Firebase SDK 访问 Firestore 中的虚拟文档?
Posted
技术标签:
【中文标题】如何通过 Firebase SDK 访问 Firestore 中的虚拟文档?【英文标题】:How to access virtual documents in Firestore through Firebase SDK? 【发布时间】:2021-01-27 09:30:49 【问题描述】:我是初学者,我的 firestore 数据库有一个包含文档的集合,每个文档都有一个没有任何其他字段的子集合。我找不到一种方法来访问空文档的 ID 并使用 SDK 获取与文档关联的子集合。我可以在控制台上执行此操作,但我要做的事情太多,而且现在还不能对我的应用程序进行更改,所以我需要使用 SDK。请建议我使用控制台访问它们的方法。
【问题讨论】:
您能否展示您的 Firestore 数据库/控制台的图像并准确指出您正在谈论的文档和集合? 【参考方案1】:如果你知道子集合的CollectionReference
,你可以通过CollectionReference
的parent
属性轻松获取父DocumentReference
。在DocumentReference
中,您只需要使用id
属性即可。
您没有分享有关数据模型的太多细节,因此很难就如何找到CollectionReference
提供更多指导。 Mark 的回答提出了一些可能的方法。
【讨论】:
【参考方案2】:所以,我使用集合组查询(collectionGroup
)查询子集合中的文档(具有相同的id
s),并通过parent
属性找到父文档的ID。
非常感谢 @mark carlton 和 @Renaud Tarnec 提出的这些建议。
【讨论】:
【参考方案3】:案例 1:如果跨多个文档查询子集合,您可以使用集合组查询来查询同名集合,而不管它们在层次结构中的位置如何。这样您实际上不需要知道文档的 ID 案例 2:在这种情况下使用您会记住的文档 ID,而不是为 ID 使用 UID。这是您的查询对您更有意义
【讨论】:
以上是关于如何通过 Firebase SDK 访问 Firestore 中的虚拟文档?的主要内容,如果未能解决你的问题,请参考以下文章
如果超时或无法访问服务器,Fire base 不会调用 onCancelled
如何修复:“@angular/fire”'没有导出成员 'AngularFireModule'.ts(2305) ionic、firebase、angular