作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在使用 Firestore 作为 Flutter 项目的后端,数据库嵌套在文档下有子集合。结构如下:
我有从 Root 集合中找到的数据,我试图从那里获取子集合,但我不知道如何获取。
应该有可用的 get()
方法,但我没有得到。
函数代码如下:
void _getNext(DocumentSnapshot doc) async {
int v = doc.data.length;
String id = doc.documentID;
print('length = $v \t id= $id');
await doc.reference.get().then((val){
val.data.forEach((k, v){
print('k = $k & v = $v');
});
});
await doc.data.forEach((k,v){
print("new k = $k, v = $v");
});
await doc.reference.collection(id).getDocuments().then((val){
val.documents.forEach((e){
print("another k = $e");
});
});
}
我按下“文学”文档(来自根集合)得到的唯一响应是:
I/flutter (13395): length = 0 id= Literature
此文档有几个子集合,但返回的长度为零。当我向字段添加虚拟数据时,其他代码块工作正常,但在我的情况下不需要。
谢谢你的帮助。
最佳答案
collection() 返回一个 CollectionReference。正如您从 API 文档中看到的那样,CollectionReference 都不是, 也不是父类(super class) Query有一个名为 get() 的方法。我怀疑你想使用 getDocuments()相反。
关于firebase - Firestore : Getting a subcollection from a DocumentSnapshot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55247207/
我是一名优秀的程序员,十分优秀!