Flutter - PlatformException:错误,文档引用无效。文档引用必须有偶数个段,但用户有 1 个,null
Flutter - PlatformException : error, Invalid document reference. Document references must have an even number of segments, but users has 1, null
我想从 Cloud Firestore 获取我的用户数据。它首先起作用,但现在引发错误。
"PlatformException (PlatformException(error, Invalid document reference. Document references must have an even number of segments, but users has 1, null))"
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());
}
}
这几乎可以肯定是因为 uID
是一个空字符串。在传递到 Firestore 之前检查它。
我想从 Cloud Firestore 获取我的用户数据。它首先起作用,但现在引发错误。
"PlatformException (PlatformException(error, Invalid document reference. Document references must have an even number of segments, but users has 1, null))"
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());
}
}
这几乎可以肯定是因为 uID
是一个空字符串。在传递到 Firestore 之前检查它。