我在项目中使用 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();
}
文档中包含文档引用并不意味着包含实际文档。这些参考文献只是文档的一些路径。如果您需要阅读这些文件的内容,您必须明确地阅读它们。因此,您无法一次性阅读该文档以及参考文献所指向的其他文档。您必须执行单独的请求。