如何查询文档中父集合深处的两个子集合。
类似的东西给我一个错误
Firestore.instance
.collection('col')
.document(docId)
.collection('anotherCol')
.document(anotherDocId)
.collection('yetAnotherCol')
.snapshots()
这有效
Firestore.instance
.collection('col')
.document(docId)
.collection('anotherCol')
.snapshots()
为什么第一个不起作用?
修改 更多信息
因此实际上,它不会向查询本身发出错误,因为它没有返回数据,而该错误来自尝试读取结果的内容。
对此进行说明:我正在像这样的StreamBuilder中运行它:
return StreamBuilder(
stream: Firestore.instance
.collection('col')
.document(docId)
.collection('anotherCol')
.document((anotherDocId)
.collection('yetAnotherCol')
.snapshots(),
builder: (context, snapshot) {
print('group length: ${snapshot.data.documents.length}');
....
},
);
因此,即使数据库中集合的末尾有两个文档,上述流返回的长度也为0。
我意识到的另一件事是我无法流传输anotherDocId,即无法读取内容。我可以通过snapshot.data.documentID
获取其ID,如果我查询集合(在本例中为“ anotherCol”),则可以读取其ID,然后通过循环运行它-这是预期的行为。再次重申,查询中第二个集合之后的内容将无法正常运行。