Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase 无法从firestore检索文档_Firebase_Flutter_Google Cloud Firestore - Fatal编程技术网

Firebase 无法从firestore检索文档

Firebase 无法从firestore检索文档,firebase,flutter,google-cloud-firestore,Firebase,Flutter,Google Cloud Firestore,我试图从firestore中检索文档并将其存储到列表中,但我返回了[QueryDocumentSnapshot实例,QueryDocumentSnapshot实例]。此外,它不会返回文档列表,而是返回字段,因为数组长度只有2,但我在“Org”集合中有6个文档。我曾经问过类似的问题,但没有得到回答 这是我用来获取文档列表的代码: Future<List> getHistory() async { List history; final List<DocumentSnap

我试图从firestore中检索文档并将其存储到列表中,但我返回了
[QueryDocumentSnapshot实例,QueryDocumentSnapshot实例]
。此外,它不会返回文档列表,而是返回字段,因为数组长度只有2,但我在“Org”集合中有6个文档。我曾经问过类似的问题,但没有得到回答

这是我用来获取文档列表的代码:

Future<List> getHistory() async {
  List history;

  final List<DocumentSnapshot> documents = 
      (await FirebaseFirestore.instance.collection("Org").get()).docs;

  history = documents.map((documentSnapshot) => documentSnapshot).toList();

  return history;
}
@override
  initState() {
    emailInputController = new TextEditingController();
    pwdInputController = new TextEditingController();
    setlist();
    super.initState();
    Firebase.initializeApp();
    
  }
   void setlist()async {
     List list = await getHistory();
    print(list)
   }
Future getHistory()异步{
列出历史记录;
最终清单文件=
(等待FirebaseFirestore.instance.collection(“Org”).get()).docs;
history=documents.map((documentSnapshot)=>documentSnapshot.toList();
回归历史;
}
@凌驾
initState(){
emailInputController=新文本编辑控制器();
pwdInputController=新文本编辑控制器();
setlist();
super.initState();
Firebase.initializeApp();
}
void setlist()异步{
List List=等待getHistory();
打印(列表)
}
我想将“组织”集合中的所有文档存储在一个列表中。这是供参考的图片。

你似乎忘了在排队的时候做点什么

history=documents.map((documentSnapshot)=>documentSnapshot.toList();
在此处调用
map
没有任何作用,因为您没有进行任何映射。你可能打算打电话给我

history=documents.map((documentSnapshot)=>documentSnapshot.data()).toList();
从每个快照检索数据并将其映射到新列表


如果需要文档id而不是字段,请执行
.id
而不是检索数据:

history=documents.map((documentSnapshot)=>documentSnapshot.id.toList();

你似乎忘了在排队的时候做点什么

history=documents.map((documentSnapshot)=>documentSnapshot.toList();
在此处调用
map
没有任何作用,因为您没有进行任何映射。你可能打算打电话给我

history=documents.map((documentSnapshot)=>documentSnapshot.data()).toList();
从每个快照检索数据并将其映射到新列表


如果需要文档id而不是字段,请执行
.id
而不是检索数据:

history=documents.map((documentSnapshot)=>documentSnapshot.id.toList();

太棒了!!它解决了实例问题,但它返回的是文档中的字段,而不是文档列表。任何解决方案@克里斯托弗Moore@MrunalJoshi请澄清问题。我已经更新了问题。希望它能澄清问题。@Unaljoshi先生如果你有新问题,请不要删掉原来的问题,在这里接受或创建一个答案,然后创建一个新问题。组织集合中只有2个文档。您在组织2中不能有任何字段。太好了!!它解决了实例问题,但它返回的是文档中的字段,而不是文档列表。任何解决方案@克里斯托弗Moore@MrunalJoshi请澄清问题。我已经更新了问题。希望它能澄清问题。@Unaljoshi先生如果你有新问题,请不要删掉原来的问题,在这里接受或创建一个答案,然后创建一个新问题。组织集合中只有2个文档。
组织2
中不得有任何字段。