Firebase flatter |如何从Firestore获取对象列表?

Firebase flatter |如何从Firestore获取对象列表?,firebase,flutter,google-cloud-firestore,Firebase,Flutter,Google Cloud Firestore,这是我的提问对象: class Question { String text; String correctAnswer; bool answer; Question(String q, bool a, String ca) { text = q; answer = a; correctAnswer = ca; } } 我想从Firestore获得一份问题列表,如下所示: List<Question> questionBank = []

这是我的提问对象:

class Question {
  String text;
  String correctAnswer;
  bool answer;

  Question(String q, bool a, String ca) {
    text = q;
    answer = a;
    correctAnswer = ca;
  }
}
我想从Firestore获得一份问题列表,如下所示:

List<Question> questionBank = [];
List questionBank=[];
Firestore看起来像这样:


我如何才能做到这一点?

您可以像这样从firestore获取数据

void _onPressed() {
  firestoreInstance.collection("Questiions").get().then((querySnapshot) {
    querySnapshot.docs.forEach((result) {
      print(result.data());
    });
  });
}
有关更多详细信息,请参阅此

从Cloud Firestore检索问题并转换为列表:

  Future<List<Question>> fetchQuestions(String userId) async {
    final questions = new List<Question>();
    final doc = await FirebaseFirestore.instance.collection('Questions').doc(userId).get();
    final questionsTmp = doc.data().questions;
    questionsTmp.forEach((questionTmp) {
      questions.add(Question.fromMap(questionTmp));
    });
    return questions;
  }
Future fetchQuestions(字符串userId)异步{
最终问题=新列表();
final doc=wait FirebaseFirestore.instance.collection('Questions').doc(userId.get();
最终问题mp=doc.data().问题;
每个人的问题列表((问题列表){
添加(Question.fromMap(questionTmp));
});
回答问题;
}
将fromMap方法添加到问题类:

class Question {
  String text;
  String correctAnswer;
  bool answer;

  Question(String q, bool a, String ca) {
    text = q;
    answer = a;
    correctAnswer = ca;
  }

  static Question fromMap(Map<String, dynamic> map) {
    return Question(
      map['text'],
      map['answer'],
      map['correctAnswer'].ToString() == 'true'
    );
  }
}
课堂提问{
字符串文本;
字符串正确答案;
布尔回答;
问题(字符串q、布尔a、字符串ca){
text=q;
答案=a;
正确答案=ca;
}
来自地图的静态问题(地图){
返回问题(
映射['text'],
地图[‘答案’],
映射['correctAnswer'].ToString()=='true'
);
}
}

但如何将这些信息解析为对象列表?。非常感谢。