如何使用 AngularFire 根据另一个文档中的文档引用数组检索 Firestore 文档?

问题描述 投票:0回答:1

我在项目中使用 Cloud Firestore,并且有一个集合“A”,其字段“bRefs”包含对另一个集合“B”中多个文档的文档引用。现在,我想检索“A”中特定文档的“bRefs”字段引用的“B”中的所有文档。

我知道使用

getAll()
或获取所有文档,然后根据引用过滤它们可能不是最有效的方法,特别是如果集合“B”有大量文档。

是否有更有效的方法来查询 Firestore 来实现此目的?

我想要实现的效果类似于下面的TypeScript代码:

getBs(bRefs: DocumentReference<B>[]) {
  return this.fstore.collection<B>('b',
    ref => ref.where('someField (missing part)', 'in', bRefs)
  ).get();
}
angular firebase google-cloud-platform google-cloud-firestore angularfire
1个回答
0
投票

文档中包含文档引用并不意味着包含实际文档。这些参考文献只是文档的一些路径。如果您需要阅读这些文件的内容,您必须明确地阅读它们。因此,您无法一次性阅读该文档以及参考文献所指向的其他文档。您必须执行单独的请求。

© www.soinside.com 2019 - 2024. All rights reserved.