这是我的Firebase数据库
- conversations (collection)
-- xxx (document)
--- users (collection)
---- xxx (document)
我想列出所有对话及其用户
this.db.collection('conversations').get().then(querySnapshot => {
querySnapshot.docs.forEach(doc => {
console.log(doc.collection('users').get())
});
});
我正在获取doc.collection不是函数
更新:这是获取ID并进行新查询后的内容。现在的问题是。这个表演吗?
this.db.collection('conversations').get().then(conversationsQuerySnapshot => {
conversationsQuerySnapshot.docs.forEach(doc => {
this.db.collection('conversations').doc(doc.id).collection('users').get().then(usersQuerySnapshot => {
usersQuerySnapshot.docs.forEach(doc => {
console.table(doc.data());
});
});
});
});
答案 0 :(得分:1)
您正在寻找mycommand > outfile 2> stderr
,因为您需要通过doc.ref
从doc.ref.collection('users')
到DocumentSnapshot
。
请注意,通过简单地遵循类型,我发现最容易发现此类错误。您的DocumentReference
是querySnapshot
,这意味着您的QuerySnapshot
是doc
。由于QueryDocumentSnapshot
没有QueryDocumentSnapshot
方法,因此更容易找出问题所在。
答案 1 :(得分:0)
您将其称为:db.collection('conversations')。doc({docID})。collection('users')
您当前的查询设置为浏览每个对话,然后在每个对话中获取每个用户。再加上第二部分(获取用户)没有要提取的基础文档,这就是为什么您看到错误的原因。
我建议观看此video