[英]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.