【发布时间】:2020-10-06 09:46:01
【问题描述】:
您好,我在从 Firestore 检索数据时遇到了一些问题; 我创建了一个类 User 来获取我的应用程序的所有信息。 用户类:
class User {
String id;
String displayName;
String email;
String pictureURL;
String gender;
DateTime dateOfBirth;
User(fbauth.User user) {
id = user.uid;
displayName = user.displayName;
email = user.email;
pictureURL = user.photoURL;
// setting info
DocumentSnapshot resl = FirestoreUtil.read("AdditionalUserInfo", user.uid);
gender = resl.data()['gender'];
dateOfBirth = (resl.data()['date of birth'] as Timestamp).toDate();
}
FirestoreUtils 类:
class FirestoreUtil {
static DocumentSnapshot read(String collection, String document) {
FirebaseFirestore.instance
.collection(collection)
.doc(document)
.get()
.then((DocumentSnapshot snapshot) {
if(snapshot.exists){
return snapshot;
}else{
print("no data found");
}
});
}
}
返回快照后,它变为空。但如果我这样做,它会打印出正确的值:
class FirestoreUtil {
static DocumentSnapshot read(String collection, String document) {
FirebaseFirestore.instance
.collection(collection)
.doc(document)
.get()
.then((DocumentSnapshot snapshot) {
if(snapshot.exists){
print(snapshot.data);
}else{
print("no data found");
}
});
}
}
我几乎尝试了所有方法,但我无法弄清楚。有人可以帮忙吗?我无法想象在类中检索数据有那么难。
【问题讨论】:
标签: flutter dart google-cloud-firestore