我想从Cloud Firestore获取用户数据。它首先起作用,但现在却引发了错误。
“ PlatformException(PlatformException(错误,无效的文档引用。文档引用必须具有偶数个段,但用户具有1,空值))”
String name = "", email = "", pnumber = "", imgUrl = "", bio = "", posted = "", applied = "", rating = "", saved = "";
String url;
final formKey = new GlobalKey<FormState>();
final databaseReference = Firestore.instance;
String uID;
@override
void initState() {
super.initState();
uID = widget.uID;
print("UID " + uID);
getUser();
}
void getUser() {
try {
databaseReference
.collection('users')
.document(uID)
.get()
.then((DocumentSnapshot ds){
if (ds.exists) {
name = ds.data['fullname'].toString();
print(name);
email = ds.data['email'].toString();
print(email);
pnumber = ds.data['pnumber'].toString();
print(pnumber);
imgUrl = ds.data['imgUrl'].toString();
print(imgUrl);
bio = ds.data['bio'].toString();
print(bio);
posted = ds.data['posted'].toString();
print(posted);
applied = ds.data['applied'].toString();
print(applied);
rating = ds.data['rating'].toString();
print(rating);
saved = ds.data['saved'].toString();
print(saved);
print(ds.data['fullname'].toString());
} else {
print("No such user");
}
});
} catch (e) {
print(e.toString());
}
}
答案 0 :(得分:1)
这几乎可以肯定是因为uID
是一个空字符串。在传递给Firestore之前先进行检查。