我试图遍历用户集合中的所有用户(文档),然后访问每个用户中的集合,在这里我将检查字段是否设置为true。
我能够按以下方式遍历用户:
let users = await firebase
.firestore()
.collection("users")
.get()
return users.docs.map(item => item.data())
但是我无法进一步访问每个用户文档中的集合。
我在网上看到的所有访问子集合的示例都涉及明确地这样做,即
let snapshot = await firebase
.firestore()
.collection('users')
.doc('exampleUID')
.collection('subcollection')
.get()
但是我看不到任何示例来获取有关集合中所有文档的集合的指导。
没有同时获取文档和所有“子”集合中所有“子”文档的单一机制,但是您可以在子集合中获取所有文档。
它称为“ collectionGroups”。您在名为的CollectionGroup上创建查询subcollection
。效果很好。
firebase.firestore().collectionGroup(tableName).get()
但是,警告-它会处理所有命名subcollection
在一起的子集合和子集合,无论级别如何,因此您必须考虑如何命名子集合。例如,如果您尝试过.collectionGroup("thatGroup")
并且数据库中具有以下结构:
/topCollection1/{documents}/subcollection1/{documents}/thatGroup/{documents}
/topCollection2/{documents}/thatGroup/{documents}
您最终会得到属于topCollection1和topCollection2的后代的文档。
虽然结果是在一个单一的呈现QuerySnapshot
,你可以找出每个生成的文档使用来哪条路径.ref.path
(字符串),并解析它,或重复使用.parent()
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句