[英]How to save a list of objects in Firebase Firestore with flutter
[英]Flutter | How to get a List of Objects from Firestore?
這是我的問題 Object:
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 = [];
Firestore看起來像這樣:
我怎樣才能做到這一點?
你可以像這樣從firestore獲取數據
void _onPressed() {
firestoreInstance.collection("Questiions").get().then((querySnapshot) {
querySnapshot.docs.forEach((result) {
print(result.data());
});
});
}
有關更多詳細信息,您可以參考此https://medium.com/firebase-tips-tricks/how-to-use-cloud-firestore-in-flutter-9ea80593ca40
從 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;
}
在問題 class 中添加 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'
);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.