[英]cannot retrieve data from firestore flutter
String branch, semester;
Future<void> _getUserDetails() async {
String uid = FirebaseAuth.instance.currentUser.uid;
await FirebaseFirestore.instance.collection('UserDatabase').doc(uid).get().then((user) {
setState(() {
branch = user.data()['Branch'];
semester = user.data()['Semester'];
});
});
print(branch);
print(semester);
}
這是我的數據庫firestore 快照的快照
我正在嘗試從 firestore 檢索數據,但出現此錯誤
未處理的異常:NoSuchMethodError:在 null 上調用了方法“[]”。
有人可以幫我解決這個錯誤。
確保 uid 在 firestore 中作為文檔可用
或者你可以試試下面的代碼
Future<void> _getUserDetails() async {
String uid = FirebaseAuth.instance.currentUser.uid;
DocumentSnapshot doc = await FirebaseFirestore.instance.collection('UserDatabase').doc(uid).get();
if(doc.exists) { // this will check availability of document
branch = doc.data()['Branch'];
semester = doc.data()['Semester'];
}else{
branch = "User is not available";
semester = "User is not available";
}
setState((){});
}
登記:
_firestore.collection('UserDatabase').doc(FirebaseAuth.instance.currentUser.uid).set({
'Branch': branchVal,
'Email': loggedInUser.email,
'RollNo': rollNoVal,
'Semester': semesterVal,
'Year': yearVal,
});
試試這個
await FirebaseFirestore.instance.collection('UserDatabase').doc(uid).get().then((user) {
user.docs.forEach((result) {
branch = result.data()['Branch'];
semester = result.data()['Semester'];
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.